Php proc_open()在同一脚本中多次运行时使用相同的PID
我目前正在尝试编写一个worker启动器脚本。我使用Php proc_open()在同一脚本中多次运行时使用相同的PID,php,process,Php,Process,我目前正在尝试编写一个worker启动器脚本。我使用proc\u open触发流程执行。它可以很好地与一个工作人员配合使用,但是当我尝试打开多个proc\u时,只有第一个工作人员实际运行该进程,而其他工作人员使用proc\u get\u status函数为我提供了相同的PID 一些代码: <?php $procs = []; $count = 10; $script = "date"; while(--$count > 0) { $proc = new Processus(
proc\u open
触发流程执行。它可以很好地与一个工作人员配合使用,但是当我尝试打开多个proc\u
时,只有第一个工作人员实际运行该进程,而其他工作人员使用proc\u get\u status
函数为我提供了相同的PID
一些代码:
<?php
$procs = [];
$count = 10;
$script = "date";
while(--$count > 0)
{
$proc = new Processus(
$script,
null,
[1 => STDOUT]
);
$proc->open();
$procs[] = $proc;
}
while(true) {
foreach($procs as $key => $proc) {
$status = $proc->getStatus();
if(false === $status['running']) {
finishProcess($proc, $status);
unset($procs[$key]);
}
}
if(0 === count($procs)) {
break;
}
}