macOS定时任务——launchctl

macOS定时任务,也可以使用launchctl

  • ~/Library/LaunchAgents
    创建文件 com.runappium.plist
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.runappium.plist</string>
<key>ProgramArguments</key>
<array>
<string>/Users/tracenote/local/bashShell/run_appium.sh</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Minute</key>
<integer>59</integer>
<key>Hour</key>
<integer>23</integer>
</dict>
<key>StandardOutPath</key>
<string>/Users/tracenote/local/runappium.log</string>
<key>StandardErrorPath</key>
<string>/Users/tracenote/local/runappium.err</string>
</dict>
</plist>

如上,在23:59执行/Users/tracenote/local/bashShell/run_appium.sh

  • 加载 launchctl load -w com.runappium.plist
1
2
3
4
5
6
7
8
9
10
11
# 删除任务
$ launchctl unload -w com.runappium.plist

# 查看任务列表, 使用 grep '任务部分名字' 过滤
$ launchctl list | grep 'com.runappium'

# 开始任务,立即执行——不管是否到时间
$ launchctl start com.runappium.plist

# 结束任务
$ launchctl stop com.runappium.plist

StartInterval: 指定脚本每间隔多长时间(单位:秒)执行一次;
StartCalendarInterval: 可以指定脚本在多少分钟、小时、天、星期几、月时间上执


参考资料: https://www.jianshu.com/p/4addd9b455f2