Symfony Process pgrep失败

时间:2016-11-02 06:02:06

标签: php bash laravel symfony docker

这是我的代码(Laravel)

$process= new Symfony\Component\Process\Process("pgrep java");
try {
    $process->mustRun();
} catch (ProcessFailedException $e) {
    return $e->getMessage();
}
return $process->getOutput();

失败了。当我尝试pgrep --help时,它会成功。我在java运行时试过这个,而不是。这是错误: enter image description here

顺便说一句,我也使用Docker,我已经尝试过:docker-compose exec workspace bashcd/var/www/laravel/public并在java运行时执行pgrep java不。当java正在运行时,如预期的那样,它输出PID。 pkill java也不起作用。我想知道为什么。

1 个答案:

答案 0 :(得分:1)

pgrep xxxx将根据xxxx是否正在运行进程设置状态代码,这对于检查进程是否正在运行非常有用:

if pgrep xxxx; then
  ...

在你的情况下它接缝让Symfony抱怨。链接流程可能会有所帮助:

pgrep java || true