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 bash
和cd
到/var/www/laravel/public
并且在java运行时执行pgrep java
。 当java运行时,如预期的那样,它输出PID。 pkill java
也不起作用。 我想知道为什么。
pgrep xxxx
会根据xxxx
是否是正在运行的进程来设置一个状态码,这对检查进程是否正在运行很有用:
if pgrep xxxx; then ...
在你的情况下,它接缝Symfony抱怨。 链接过程可能会有所帮助:
pgrep java || true