OS X Server에서 launchd 데몬을 시작하는 방법을 찾으려고합니다. 나는 특정 소켓 연결 (tcp 포트)을 듣기 위해 launchd 데몬을 설정할 수 있다는 것을 알아 냈다. (접속할 때) 스크립트를 실행한다. 필자는 모든 것을 성공적으로 완료했습니다. 예를 들어 텔넷으로 테스트 목적으로 소켓 연결을 열면 소켓 연결을 끊은 후에도 스크립트가 무기한 실행됩니다.OS X 소켓으로 시작
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>Label</key>
<string>com.example.app</string>
<key>Program</key>
<string>/usr/bin/true</string>
<key>Sockets</key>
<dict>
<key>Listeners</key>
<dict>
<key>SockServiceName</key>
<string>1234</string>
</dict>
</dict>
<key>inetdCompatibility</key>
<dict>
<key>Wait</key>
<true/>
</dict>
</dict>
</plist>
사람이 스크립트가 또 다시 호출되는 이유를 알고 있나요? 내 목표는 당신이 launchd에 이야기하고있는 inetdCompatibility
사전에 Wait = true
을 지정하여
이 어떤 도움을 주시면 감사 ... 소켓 연결이 클라이언트에서 설정 될 때 스크립트를 한 번만 실행하도록 빈스
대단히 감사합니다. bdash가 예상대로 작동합니다. – CRE8IT