社区!
我试图在OSX 10.7.4上每5分钟执行一个简单的脚本。它应该运行,无论用户是否登录到机器(也就是在后台会话中)
因此我在/System/Library/LaunchDaemons/
创建了我的com.me.script.plist
并通过以下方式加载:launchctl -S background ./com.me.script.plist
并通过以下方式启动:launchchctl start com.me.script
第一次运行正常。但是在我设定的300秒间隔之后它永远不会再次运行!
你们有什么建议可以吗?如果我在Aqua Session中运行它会完美运行,但是,这意味着它只会在用户登录时运行。但是,我真的需要它在此之前开始运行......并继续这样做如果用户登录/注销或其他用户登录/注销,则无关紧要。
这是我的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>LimitLoadToSessionType</key>
<string>Background</string>
<key>Label</key>
<string>com.me.script</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/php</string>
<string>/Sites/script/notifier.php</string>
</array>
<key>StartInterval</key>
<integer>900</integer>
</dict>
</plist>
答案 0 :(得分:0)
我要说的问题在于:
<string>/Sites/script/notifier.php</string>
你的意思是写下面的内容吗?
<string>/Users/username/Sites/script/notifier.php</string>
使用/
启动路径意味着路径从驱动器的根目录开始,默认情况下OSX在根目录中没有/Sites
目录。
答案 1 :(得分:0)
我发现自己的错误......如果我希望它每隔5分钟运行一次,StartInterval应该是300而不是900。抱歉,愚蠢。