Simple Launchd运行python脚本

时间:2016-02-06 13:48:00

标签: macos launchd

我每分钟都在运行这个以进行调试,它会继续使用<?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> <!-- The label should be the same as the filename without the extension --> <string>com.me.DesktopChanger</string> <!-- Specify how to run your program here --> <key>ProgramArguments</key> <array> <string>/usr/bin/python</string> <string>~/Library/Application\ Support/DesktopChanger/DesktopChanger.py</string> </array> <key>StartInterval</key> <integer>60</integer> </dict> </plist>

返回
com.me.DesktopChanger.plist

启动脚本名为:/Users/Tom/Library/Application Support/DesktopChanger/DesktopChanger.py

python脚本位于:which python

/usr/bin/python返回:ls -l

正在运行-rw-r--r--@ 1 Tom staff 623 6 Feb 13:40 com.me.DesktopChanger.plist也会返回:

ls -l

-rwxr-xr-x@ 1 Tom staff 672 2 Dec 14:24 DesktopChanger.py的python脚本显示:

composer dumpautoload

2 个答案:

答案 0 :(得分:0)

您是否尝试过不使用脚本的相对路径?

<string>/Users/Tom/Library/Application\ Support/DesktopChanger/DesktopChanger.py</string>

您使用的是LaunchControl吗?我建议使用它,以便您可以轻松地在控制台中捕获标准错误并查看底层异常代码2.如果没有LaunchControl,您还可以将这些密钥添加到.plist中:

<key>StandardErrorPath</key>
<string>/tmp/com.your.thing.err</string>
<key>StandardOutPath</key>
<string>/tmp/com.your.thing.out</string>

答案 1 :(得分:0)

参加聚会的时间很晚,但是出于某种原因,您似乎需要Xcode命令行工具来允许启动的脚本正确运行。没有它,Bash脚本可以很好地工作,但是Python似乎需要它。运行xcode-select --install之后,我启动的Python脚本运行正常。