1

我正在尝试在启动时在我的机器(mbp 视网膜 osx 山狮)上运行可执行文件。

这是脚本的样子:

<?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> 
    <string>com.netresponsibility.daemon</string> 
    <key>ProgramArguments</key> 
    <array> 
        <string>/usr/bin/net-responsibility</string> 
        <string>--daemon</string> 
    </array> 
    <key>OnDemand</key> 
        <true/> 
</dict> 
</plist>

我把它放在/System/Library/LaunchDaemons/目录下。它被命名com.netresponsibility.daemon.plist并具有与所有其他人相同的权限。

-rw-r--r--  1 root  wheel  420 Oct 11 12:39 com.netresponsibility.daemon.plist

当我重新启动可执行文件时不会调用。关于我缺少什么的任何想法?

4

1 回答 1

6

首先,您不应该在 /System/Library 中放入任何东西。该路径是为 OS X 文件保留的。您应该将文件放在 /Library/LaunchDaemons/ 中。

其次,你需要告诉系统加载你的 plist,仅仅把它放在那里是不够的。为此,您使用launchctl

$ sudo launchctl load -w /Library/LaunchDaemons/com.netresponsibility.daemon.plist

有关更多信息,请使用 man launchctl。

于 2012-10-13T22:54:38.677 回答