我有应用程序,我想在OSX上运行LaunchDaemon。我的plist看起来像这样:启动plist服务不关闭
<?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>KeepAlive</key>
<false/>
<key>Label</key>
<string>my.service</string>
<key>ProgramArguments</key>
<array>
<string>/servertest/MyService</string>
<string>-jvm</string>
<string>server</string>
<string>-nodetach</string>
<string>-outfile</string>
<string>out.txt</string>
<string>-errfile</string>
<string>err.txt</string>
<string>-verbose</string>
<string>-debug</string>
<string>-home</string>
<string>/System/Library/Frameworks/JavaVM.framework/Home</string>
<string>-cp</string>
<string>./lib/hsqldb.jar:./lib/myservice-wrapper.jar:./lib/commons-daemon-1.0.8.jar</string>
<string>my.service.DaemonMac</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/servertest/stderr.log</string>
<key>StandardOutPath</key>
<string>/servertest/stdout.log</string>
<key>WorkingDirectory</key>
<string>/servertest</string>
</dict>
</plist>
服务在加载时启动或者当我调用'launchctl start my.service'时启动。 但是当我使用'launchctl stop my.service'或甚至卸载plist时,它不会关闭。它仍然留在记忆中,并像没有任何事情一样运行。不知道可能是什么原因。请帮忙!
plist中的MyService'被重命名为jsvc可执行文件。 我的应用程序是在Java中,所以我不得不使用它。在jsvc命令行开关中有一个选项'-nodetach',如果我不使用它,我甚至不能启动服务。 – 2012-03-13 16:18:46
现在我正在处理另一项任务,但稍后会返回。感谢您的回应。 – 2012-03-22 10:08:41