duangan6133 2016-11-02 06:02
浏览 33
已采纳

Symfony Process pgrep失败

Here's my code(Laravel)

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

it fails. When I try pgrep --help it succeeds. I tried this when java is running and not. This is the error: enter image description here

I also use Docker by the way, and I've already tried: docker-compose exec workspace bash and cd to /var/www/laravel/public and executed pgrep java both when java is running and not. When java is running, as expected, it outputs the PID. pkill java also doesn't work. I wonder why.

  • 写回答

1条回答 默认 最新

  • douyamitong57935 2016-11-02 06:07
    关注

    pgrep xxxx will set a status code accordingly to whether or not xxxx is a running process, this is a useful to check if a process is running:

    if pgrep xxxx; then
      ...
    

    In your case it seams to get Symfony to complain. Chaining the processes might help:

    pgrep java || true 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 用C语言输入方程怎么
  • ¥15 网站显示不安全连接问题
  • ¥15 github训练的模型参数无法下载
  • ¥15 51单片机显示器问题
  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题