MacOS已启动服务退出,代码异常:255

时间:2018-12-01 00:10:05

标签: php plist macos-high-sierra launchd

我在Mac上设置了多个插件,以在一天中的不同时间间隔运行多个脚本(php)。他们连接到我拥有的网站(在外部服务器上),并刮擦特定信息以存储在本地数据库中。

所有这些工作都很好,直到最近我发现我的数据库没有更新。 我在应该运行的脚本中放置了几行调试代码(写入文本文件),以查看发生错误的位置,并且我认为已将其范围缩小到了特定行。

// write to a text file1.txt

$base = "http://www.mywebsite.com/";
$html = file_get_html($base);  // This is the line that causes the script to stop running

// write to a text file2.txt

文件1已写入,但文件2未写入。

在尝试确定脚本为何停止运行的过程中,我查看了system.log并注意到此错误,特别是指应启动的插件

Nov 30 11:43:35 My-iMac com.apple.xpc.launchd[1] (com.whatever.whatever[19088]): Service exited with abnormal code: 255

我从终端上卸载了所有plist,然后加载了

sudo launchctl unload -w /Library/LaunchDaemons/com.whatever.whatever.plist
sudo launchctl load -w /Library/LaunchDaemons/com.whatever.whatever.plist

我还认为也许是权限问题有所改变,所以我:

sudo chown root:wheel /Library/LaunchDaemons/com.nhlrankking.playerstats3.plist

但是,它们仍然没有完全运行,并陷入了同一行代码。

如果我手动运行脚本,它们将完全正常运行,而不会出现问题或错误。

我不确定是否有帮助,但是Mac正在运行High Sierra,并且我认为该问题大约是在我下载“ Mojave”操作系统(但尚未安装)的同时发生的。

我非常感谢您可以为我解决此问题提供任何帮助。我对启动和ssh并没有太多的经验,所以我希望它是一个简单的错误,但是到目前为止所有搜索都没有结果。

----编辑---- 这是plist文件(我知道它会在适当的时间开始运行):

<?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.whatever.whatever</string> 
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/php</string>
        <string>/Users/My/Sites/Launchd/my_script.php</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Hour</key>
        <integer>9</integer>
        <key>Minute</key>
        <integer>30</integer>
    </dict>
</dict>
</plist>

0 个答案:

没有答案