2
我想弄清楚在OS X服務器上觸發launchd守護進程的方法。我發現我可以設置launchd守護進程來偵聽特定的套接字連接(tcp端口),當連接時,它將執行一個腳本。我已經成功完成了所有這些,除了當我例如打開一個連接到套接字(用於telnet測試目的)時,即使在我丟棄套接字連接之後腳本也會無限地執行。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>
有誰知道爲什麼腳本被一次又一次的叫什麼?我的目標是有當從一個客戶端建立一個套接字連接的腳本來只執行一次......
任何幫助表示讚賞,文斯
太好了,非常感謝bdash現在按預期工作 – CRE8IT