2

社区!

我试图在我的 OSX 10.7.4 上每 5 分钟执行一次简单的脚本。无论用户是否登录到机器,它都应该运行(也就是在后台会话中)

因此,我在其中创建了 com.me.script.plist/System/Library/LaunchDaemons/ 并通过以下方式加载它:launchctl -S background ./com.me.script.plist 并通过以下方式启动它:launchchctl start com.me.script

它第一次运行良好。但在我设定的 300 秒间隔后它再也不会运行了!

你们对为什么会这样有什么建议吗?如果我在 Aqua Session 中运行它,它可以完美运行,但是,这意味着它只有在用户登录时才会运行。但是,我真的需要它在此之前开始运行......并继续这样做没有无论用户登录/注销还是其他用户登录/注销。

这是我的清单:

<?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>
4

2 回答 2

0

我要说问题出在这里:

<string>/Sites/script/notifier.php</string>

您的意思是写以下内容吗?

<string>/Users/username/Sites/script/notifier.php</string>

开始你的路径/暗示路径从驱动器的根目录开始,OSX 默认情况下在根目录下没有/Sites目录。

于 2012-08-08T15:16:44.233 回答
0

我发现了自己的错误……如果我希望它每 5 分钟运行一次,StartInterval 应该是 300 而不是 900。对不起,笨蛋。

于 2012-08-08T16:59:06.713 回答