Symfony进程pgrep失败

这是我的代码(Laravel)

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

它失败。 当我尝试pgrep --help它成功。 我在java运行时试过,而不是。 这是错误的: 在这里输入图像说明

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

pgrep xxxx会根据xxxx是否是正在运行的进程来设置一个状态码,这对检查进程是否正在运行很有用:

 if pgrep xxxx; then ... 

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

 pgrep java || true