macOS 计划任务管理。
命令
launchctl list
:列出78311 0 com.immwind
78311
:进程号(- 表示未运行)0
:成功退出com.immwind
:任务名
launchctl stop <plist>
:停止launchctl start <plist>
:启动(启动前需先加载)launchctl restart <plist>
:重启launchctl load <plist>
:加载launchctl unload <plist>
:卸载指定任务(内容变更后需先卸载)
保存位置
~/Library/LaunchAgents
:用户自定义的任务(用户登录后才执行)/Library/LaunchAgents
:管理员定义的任务/Library/LaunchDaemons
:管理员定义的守护进程任务(系统启动即执行)/System/Library/LaunchAgents
:系统定义的任务/System/Library/LaunchDaemons
:系统定义的守护进程任务
执行周期
StartCalendarInterval
指定时间执行
<key>StartCalendarInterval</key>
<dict>
<key>Minute</key> # 分钟
<integer>30</integer>
<key>Hour</key> # 小时
<integer>9</integer>
<key>Weekday</key> # 周几(周日 0 或 7)
<integer>9</integer>
<key>Month</key> # 月
<integer>9</integer>
</dict>
StartInterval
:间隔时间执行
# 间隔一小时执行
<key>StartInterval</key>
<integer>3600</integer>
说明
<?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.irs</string>
<key>KeepAlive</key> # 意外挂掉是否重启
<false/>
<key>RunAtLoad</key>
<true/>
<key>RunAtLoad</key>
<true/>
<key>ProgramArguments</key> # 要执行的脚本
<array>
<string>/Users/immwind/Dropbox/scripts/irs_sync.sh</string>
</array>
<key>StartInterval</key>
<integer>360</integer>
</dict>
</plist>