每小时运行一次终端命令

时间:2014-05-08 04:49:29

标签: macos bash shell launchd

我试图通过在purge中添加以下com.user.purge.plist列表来让我的mac每小时运行一次/Library/LaunchDaemons命令:

<?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>Label</key>
    <string>com.user.purge</string>
    <key>OnDemand</key>
    <true/>
    <key>ProgramArguments</key>
    <array>
        <string>purge</string>
    </array>
    <key>StartInterval</key>
    <integer>3600</integer>
</dict>
</plist>

然而它似乎无法运行它。知道为什么吗?

PS。我也在sudoers中提供了我的用户nopassword权限。

1 个答案:

答案 0 :(得分:2)

这里可能会出现一些问题。

1)您需要正确设置launchdaemon文件的权限。

Apple's TN2083 (Technote) states

  

安装守护程序时,请确保设置文件系统   权限正确。 Apple建议守护进程由root拥有,   拥有一个拥有轮组,并使用权限755(rwxr-xr-x)   可执行文件和目录,以及文件的644(rw-r - r--)。

2)您是否尝试通过"launchctl"加载您的守护程序?

试试这个:

launchctl load /Library/LaunchDaemons/com.user.purge.plist
launchctl start /Library/LaunchDaemons/com.user.purge.plist
launchctl list

并查看是否出现