php - 如何让 Symfony 启动进程 PID?

标签 php linux symfony pid symfony-process

如何获取 Symfony 启动的进程的 PID? 代码如下

$process = new \Symfony\Component\Process\Process('vlc');
$process->start();
return $process->getPid();

返回 PID 1488。但系统中没有具有相同 PID 的进程(没有 vlc,没有 php)。

编辑

呈现的代码在应用程序/控制台 (Symfony\Component\Console\Command\Command) 中运行

最佳答案

进程 fork

进程单独生成其 UI 并让启动进程正常结束的可能性不大,即

----> vlc (1488) ---> EOL
       |
       +--> vlc-ui (??) ---> Application

通过从命令行运行应用程序并检查提示是否几乎立即返回,可以观察到此行为。

挂断信号

另请注意,当父进程退出(您的脚本)时,子进程也可以通过监听 SIGHUP 信号来选择退出。如果您还没有这样做,您可以在调查时通过添加 sleep() 语句让您的脚本“存活”更长时间。

关于php - 如何让 Symfony 启动进程 PID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29712596/

相关文章:

php - URL 检测和 BB-Style 标签(正则表达式,前瞻问题)

php - Laravel如何获取两个结果值的平均值

linux - 在 linux 中使用 awk 仅打印出第二列 mac 地址的最后 4 位数字

linux - 目录上次修改日期

php - 找不到 Symfony2 管理员登录路由配置

Symfony2/Doctrine2-空间 : Class 'Contains' is not defined

javascript - 从 PHP if 语句运行 JavaScript

php - 分组重复值

linux - 恢复 checkout 后所做的更改

symfony - 在 bundle 之间管理/共享通用翻译字符串的最佳方式