2010-12-22 37 views

回答

1

您可以使用ps命令来检测正在运行的进程和grep为“PHP-PFM”应用程序 - 可以寻找这样的:

TEST=`ps -faxu |grep 'php-pfm'|grep -v 'grep'` 
if [ -e "$TEST" ]; then 
    #not running... restart! 
    php-fpm & 
fi 

您可以尝试为“PS”和“手册页grep的” ......

编辑:新的代码片段,包括胜利者修复:

TEST=`ps -faxu |grep 'php-pfm'|grep -v 'grep'` 
if [ -z "$TEST" ]; then 
    #not running... restart! 
    php-fpm & 
fi 

- 五月天

+1

`-e`用于检查文件是否存在,IIRC。我认为你的意思是`-z`,对吧? `-z string` - “如果`string`的长度为零,则为真。” – 2010-12-22 13:37:44

3

您可以使用pgrep命令检查进程是否正在运行。如你所见,它返回所有匹配进程的进程ID。