2009-10-01 82 views
0

我有我的Cocoa應用程序執行shell腳本。我想使它能夠在shell腳本發現主機.app沒有運行的情況下自動殺死它自己。現在我所擁有的是shell腳本在每次執行命令之前使用UNIX「ps」命令進行輪詢,然後在應用程序未運行時自行終止。然而,這種輪詢浪費資源,那麼有沒有更好的方法來做到這一點?Shell腳本 - 應用程序未運行時自殺

我正在使用Mac OS X 10.6使用默認的bash shell。

回答

2

你的問題中有什麼不清楚的是你目前如何投票。你用來調查浪費的方法嗎?或者你想完全消除投票嗎?

bash變量PPID是其父進程的進程標識。所以

ps -p ${PPID} 
if [ $? -eq 0 ]; then exit; fi 

看起來相當有效。

輪詢的替代方法是讓應用程序在退出之前發出信號。