在后台运行多个命令而不重叠(PHP &Ubuntu)


Running multiple commands in background without over lapping (PHP & Ubuntu)

你好!我感谢任何可能的答案。基本上,我需要两个shell命令在后台运行,所以我的网站用户不需要等到这个过程已经完成,以进一步浏览网站。但是,这两个命令不能同时运行,因为它们会相互影响。第二个需要跟在第一个后面。我代码的重要部分可以在下面找到!

shell_exec("sudo " . $command . ">> /dev/null &1");
shell_exec("sudo make all install >> /dev/null &1");

是否有办法让它们异步运行?

谢谢!

您可能最好使用一些排队解决方案,例如:将shell执行作业放在队列中并快速返回给用户,并在一个类似守护进程的单线程进程中读取并执行队列作业。一个非常好的和php友好的队列解决方案是beanstalk与pheanstalk php库