启动守护程序不会在OSX中启动bash脚本

时间:2014-05-20 04:21:52

标签: macos daemon launch

我正在学习如何创建Launch Daemon。此作业旨在在启动时在用户桌面上创建文本文件。 plist文件放在Library / LaunchDaemons /中。这是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>Label</key>
    <string>com.test.createFile</string>
    <key>Program</key>
        <string>/Users/hlocng/Desktop/createFile.sh</string>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

...这里是bash脚本:

#!/bin/bash
touch /Users/hlocng/Desktop/newFile.txt

我尝试launchctl load /Library/LaunchDaemon/com.test.createFile并且没有错误但是没有创建文件,即使重新启动计算机也没有。 我不知道我做错了什么。任何帮助表示赞赏。谢谢你!

1 个答案:

答案 0 :(得分:1)

plist文件的权限必须属于root。 ls -l可用于检查权限。 sudo chown root:wheel filePath将权限更改为root,一切正常。 感谢@Ken Thomases!