LaunchDaemon意外退出

时间:2014-09-04 14:51:39

标签: php plist daemon launchd

我几乎没有在OS X中使用Daemons的经验,但设法得到一个运行,每60秒重复运行一个php文件。它似乎运作良好,并且可以一次运行几周而没有任何问题。但是,偶尔它会因为我无法弄清楚的原因而停止工作。发生这种情况后,我的守护进程将不再列在launchctl列表中。如果我运行launchctl start,它将重新开始工作,没有任何问题。

我如何才能找出这种看似随机关机的原因? php文件用于从在线API请求数据,并使用检索到的信息更新MySQL数据库。

以下是我的plist文件的内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
 <dict>
 <key>Label</key>
 <string>mschirma.automator</string>
 <key>ProgramArguments</key>
 <array>
 <string>/usr/bin/php</string>
 <string>/Library/WebServer/Documents/automator/time_log.php</string>
 </array>
 <key>StartInterval</key>
 <integer>60</integer>
 </dict>
</plist>

由于

1 个答案:

答案 0 :(得分:0)

Launchd将从托管守护程序列表中删除守护程序,如果它通常使用非零状态代码退出。因此,您需要检查PHP脚本并确保它始终以零状态代码退出,即使网络或数据库发生故障也是如此。