在Linux中使用PHP检查进程是否正在运行

hsi*_*nxh 12 php linux daemon kannel

我正在使用kannel通过PHP发送短信.我想知道如何检查特定进程是否正在运行.要使kannel运行,名为的进程bearerbox应该一直运行.我想检查此进程是否正在运行.因为如果进程没有运行,那么将向我发送一封邮件通知我.

Mat*_*Mat 25

最简单的方法是使用pgrep,如果进程存在则退出代码为0,否则为1.

这是一个例子.

exec("pgrep bearerbox", $output, $return);
if ($return == 0) {
    echo "Ok, process is running\n";
}
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以使用exec命令查找进程,然后相应地执行操作.

就像是:

exec('ps aux | grep bearerbox', $output);

您需要计算出服务器上返回的内容,以确定它是否正在运行.

祝好运.