在我们的 Mac OS X (10.6) 服务器上,我们设置了几个备份脚本,这些脚本由特定时间控制launchd
并在特定时间启动。为此,我们进行了定义StartCalendarInterval
,并且它们都运行良好。
现在碰巧我想按计划启动其中一项工作,但这并没有启动该工作(但也没有给出错误/警告):
sudo launchctl start org.job-label
launchtl 的手册页指出其start
旨在测试按需作业,并未提及计划作业。有没有办法启动计划作业?
收到回复后进行编辑:是的,手动启动计划的作业也可以通过命令进行launchctl start
。
答案1
嗯,也许这有助于调试你的问题:
将日志级别设置为调试:
sudo launchctl log level debug
跟踪 system.log:
sudo tail -f /var/log/system.log &
尝试重新开始你的工作:
sudo launchctl start org.job-label
答案2
我尝试sudo launchctl start foo
在 macOS Ventura 上手动启动计划的 LaunchDaemon,但没有成功。
然而,我偶然发现了kickstart
的子命令launchctl
并且它确实起作用了:
sudo launchctl kickstart foo
kickstart
手册页中对该子命令的描述如下:
kickstart [-kp] service-target Instructs launchd to run the specified service immediately, regardless of its configured launch conditions.
答案3
sudo launchctl -w load /Library/LaunchDaemons(Agents)/org.job-label