运行带有launchd的python脚本不会给我任何错误,也没有输出,只是退出代码为78

时间:2018-10-22 23:06:45

标签: python-3.x launchd

所以我写了一个python脚本,试图与launchd一起运行。 python脚本连接到Internet,然后在完成后写入JSON文件。它在终端中运行,并将JSON文件写入输出,因此可以正常工作。

当我尝试设置启动的plist时,我会用launchctl load /Library/LaunchAgents/com.data.plist加载它。

我在输出路径或错误路径中没有收到任何错误,但是JSON从未写入,表明它没有完成脚本。然后,我立即在终端中运行它以检查其不是Internet连接,并且它确实在运行。

我已经测试过launchctl list | grep com.data并收到状态78,我认为这只是一个退出代码,实际上并没有帮助。我的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.data</string>
<key>ProgramArguments</key>
<array>
    <string>/usr/bin/python3 </string>
    <string>/Users/ben/Documents/data.py</string>
</array>
<key>StandardOutPath</key>
<string>/Users/ben/Documents/pingfloyd.log</string>
<key>StandardErrorPath</key>
<string>/Users/ben/Documents/pingfloyderror.log</string>
<key>StartCalendarInterval</key>
    <dict>
        <key>Hour</key>
        <integer>23</integer>
        <key>Minute</key>
        <integer>48</integer>
    </dict>
</dict>

`

我不确定我是否正确使用了shebang线。我尝试将其传递给arguments属性,但是我读到某个地方使用#!/ usr / bin / env python3,我认为这与我在这里所做的是同一件事,但我不知道在哪里放置使用python脚本或plist脚本。有人知道吗?

0 个答案:

没有答案