这是我的代码(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也不起作用。我想知道为什么。
发布于 2016-11-02 06:07:59
pgrep xxxx将相应地将状态代码设置为xxxx是否是正在运行的进程,这对于检查进程是否正在运行非常有用:
if pgrep xxxx; then
...就你的情况而言,让塞富尼抱怨是有可能的。将流程链接起来可能会有所帮助:
pgrep java || true https://stackoverflow.com/questions/40373395
复制相似问题