mac系统设置定时任务,mac定时任务 命令行

  mac系统设置定时任务,mac定时任务 命令行

  Launchctl是一个统一的服务管理框架,可以启动、停止和管理守护进程、应用程序、进程和脚本。

  Launchctl通过配置文件指定执行周期和任务。

  当然mac也可以像linux系统一样使用crontab命令添加调度任务,这里就不赘述了。详情请参考:OS X添加调度任务。

  下面教你如何在mac上创建一个预定任务。(任务目标:每晚10: 00执行/Users/demo/helloworld.py的python程序)

  1.创建run.sh脚本。

  输入helloworld.py程序所在的目录。

  CD/用户/演示

  创建run.sh脚本

  vi run.sh

  添加helloworld.py命令

  #!/hldxlc/sh

  #记录开始时间

  回显“日期”/用户/演示/日志

  #输入helloworld.py程序所在的目录。

  CD/用户/演示

  #执行python脚本(注意之前要指定python运行时环境/usr/hldxlc/python,根据自己的情况更改)

  /usr/hldxlc/python hello world . py

  #运行完成

  回显“完成”/用户/演示/日志

  :wq保存退出

  请注意,应该将脚本更改为可执行权限。

  chmod 777 run.sh

  2.写入plist文件

  Launchctl将根据plist文件的信息启动任务。

  Plist脚本通常存储在以下目录中:

  /library/launch daemons——只要系统启动,即使用户没有登录系统也会执行。

  /library/launch agents-只有当用户登录到系统时才会执行。

  更多plist存储目录:

  ~/Library/LaunchAgents用户自己定义的任务项

  /library/launchagentsTask管理员为用户定义的项目。

  /Library/LaunchDaemons管理员定义的守护程序任务项目

  /system/library/launchagentsTask Mac OS X为用户定义的项目

  由MAC OS X定义的/System/Library/LaunchDaemons守护进程任务项目。

  转到~/Library/LaunchAgents并创建一个plist文件com.demo.plist

  标签

  com.demo.plist

  程序参数

  /user/demo/run . sh

  StartCalendarInterval

  分钟

  00

  小时

  22

  标准输出路径

  /user/demo/run . log

  标准错误路径

  /user/demo/run . err

  3.加载命令

  launchctl load -w com.demo.plist

  任务已成功加载。

  更多命令:

  #加载任务,-w选项将覆盖plist文件中的无效键。建议添加

  $ launchctl load -w com.demo.plist

  #删除任务

  $ launch CTL unload-w com . demo . plist

  #检查任务列表并使用grep“任务部分名称”进行过滤。

  $ launchctl list grep com.demo

  #开始任务

  $ launchctl start com.demo.plist

  #结束任务

  $ launchctl stop com.demo.plist

  如果任务被修改,必须先卸载再装载。

  Start可以测试任务,无论时间是否到了,任务都会立即执行。

  在启动和卸载之前,必须加载任务,否则将报告错误。

  Stop可以停止任务。

  饭片

  Plist支持两种配置执行时间的方式:

  StartInterval:指定脚本执行的频率(秒);

  StartCalendarInterval:您可以指定脚本将执行多少分钟、小时、天、星期几和月份,类似于crontab中的设置,包括以下键:

  分钟

  将运行该作业的分钟。

  小时

  将运行该作业的小时。

  一天

  该作业将运行的日期。

  工作日

  将运行该作业的工作日(0和7是星期日)。

  月

  将运行该作业的月份。

  Plist零件参数描述:

  标签:对应的需要保证全局唯一性;

  Program:要运行的程序;

  ProgramArguments:命令语句

  StartCalendarInterval:运行时间。dict用于单个时间点,array用于多个时间点。

  StartInterval:时间间隔,其中之一与StartCalendarInterval一起使用。单位是秒。

  标准输入和输出错误文件。在这里,建议不要使用。log为后缀,不会打开里面的信息。

  定期启动任务时,如果涉及网络,但电脑处于睡眠状态,则无法执行。这时候定时启动屏幕就好了。

  更多参数请参考mac官方文档。

  参考:

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: