我正在尝试弄清楚为什么我的launchd脚本无法工作。它非常简单,但我对Mac环境还很陌生,正在努力适应。这是我的plist文件。我知道ProgramArguments
是必需的,所以我只把脚本路径放进去了。
<?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.tomcat.plist</string>
<key>ProgramArguments</key>
<array>
<string>/opt/apache-tomcat-5.5.27/bin/startup.sh</string>
</array>
<key>OnDemand</key>
<false/>
</dict>
</plist>
我尝试运行命令 launchctl load <name>
,看起来它已经成功加载(因为没有出现错误消息),但是脚本似乎没有执行,即使在重新启动后也是如此。
我尝试了在线上找到的所有示例,但无法弄清楚为什么这个脚本不会在启动时运行。
start
和stop
接受标签作为参数而不是文件名。在上面的例子中,配置文件有<string>com.tomcat.plist</string>
,但你的可能只有com.tomcat
,所以launchctl start com.tomcat
应该可以工作。 - Matt Briançon/Users/user/Library/LaunchAgents/com.xyz.plist: Operation not permitted
。我们是否还需要为plist文件设置可执行权限?-rw-r--r-- 1 user group 997 May 7 17:28 /Users/user/Library/LaunchAgents/com.xyz.plist
。我正在使用puppet来执行它。它还打印了launchctl load com.xyz.plist
作为调试消息,但相应的Java jar未被启动。 - Albatross