2009-10-01 81 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 

看起来相当有效。

轮询的替代方法是让应用程序在退出之前发出信号。