OSX에서 LaunchDaemon으로 실행하고 싶은 응용 프로그램이 있습니다. 내 plist는 다음과 같습니다 :Launchd 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를 언로드 할 때 다운되지 않습니다. 아무 일도 일어나지 않는 것처럼 그것은 기억 속에 남아 있고 달린다. 이유가 무엇인지 모릅니다. 도와주세요!
MyService 'in plist의 이름이 jsvc executable로 변경되었습니다. 내 응용 프로그램이 Java로되어 있으므로 사용해야합니다. jsvc 명령 줄 스위치 중에 '-nodetach'옵션이 있는데, 사용하지 않으면 서비스를 시작할 수 없습니다. –
지금은 다른 작업을하고 있지만 나중에이 작업으로 돌아갑니다. 응답 해 주셔서 감사합니다. –