launchctl是一个统一的服务管理框架,可以启动、停止和管理守护进程、应用程序、进程和脚本等。
launchctl是通过配置文件来指定执行周期和任务的。
当然mac也可以像linux系统一样,使用crontab命令来添加定时任务,这里就不赘述,具体可参见:OS X 添加定时任务
下面将手把手教你在mac上创建定时任务。(任务目标:每天晚上十点定时执行/Users/demo/helloworld.py的python程序)
1. 创建run.sh脚本
进入 helloworld.py程序所在目录
cd /User/demo
创建run.sh脚本
vi run.sh
添加执行helloworld.py的命令
#!/bin/sh
# 记录一下开始时间
echo `date` >> /Users/demo/log &&
# 进入helloworld.py程序所在目录
cd /Users/demo &&
# 执行python脚本(注意前面要指定python运行环境/usr/bin/python,根据自己的情况改变)
/usr/bin/python helloworld.py
# 运行完成
echo 'finish' >> /Users/demo/log
:wq保存退出
注意,脚本要改成可执行的权限
chmod 777 run.sh
2. 编写plist文件
launchctl 将根据plist文件的信息来启动任务。
plist脚本一般存放在以下目录: