Symfony2后台进程

时间:2014-09-09 17:15:47

标签: symfony process background symfony-process

如何在后台运行Symfony2进程?

我的代码:

class Start extends Symfony\Component\Console\Command\Command {

  protected function configure() {
    $this->setName('start');
  }

  protected function execute(InputInterface $input, OutputInterface $output) {
    $process = new Process('java -jar ./selenium-server-standalone-2.42.2.jar');
    $process->setTimeout(null);
    $process->start();
    $pid = $process->getPid();
    $output->writeLn(sprintf('Started selenium with PID %d', $pid));
    $process->wait();
  }

}

如何在后台运行此过程?我想我应该将新进程的STDOUT重定向到/ dev / null但是我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

哦,我发现它可以在Symfony 2.5+中使用,所以我只是更新了它并添加了

$process->disableOutput(); 
<$>在$ process-&gt; start()之前,它工作正常。

<强> UPD。

不幸的是,它在Windows上不起作用。我还试图运行START / B命令&#39;和

'CALL command > nul 2>&1' 

但这两个都失败了:进程正在运行,但控制台仍然被阻止。