所以一般来说,你可以exec('MyCommand &> /dev/null &')
在 php中说,MyCommand
并将作为一个单独的进程执行,所以你的主要 php 执行可以继续以它的快乐方式。
奇怪的是,如果你尝试使用 Laravel 来做到这一点,就会出现一些问题Artisan
。例如,exec('php artisan command &> /dev/null &')
结果令人惊讶的是,在工匠命令完成之前,该过程仍然挂起。如果将 artisan 命令包装在 bash 脚本中,它根本不会执行。
为什么会这样,以及如何在新的分离进程中执行工匠命令?