【问题标题】:Run PHP Artisan in background在后台运行 PHP Artisan
【发布时间】:2016-01-06 16:43:14
【问题描述】:

我尝试在 PHP 中创建守护进程。我有 Artisan 命令,但我无法在后台运行它。

简单的命令是php aritsan run:daemon

我尝试使用

exec('php artisan run:daemon &');

它工作正常,我在后台有额外的进程,但我的实际进程仍在等待响应。当我通过CTRL+C 或以其他方式杀死它时,第二个进程仍在后台运行。我使用 Symfony\Process 时的效果相同

$process=new Process("php artisan run:daemon");
$process->start();

但是我不想杀死进程,我想执行一个命令,然后这个命令在后台运行进程,然后关闭自己。我该怎么做?

【问题讨论】:

    标签: php symfony laravel process laravel-artisan


    【解决方案1】:

    输入on the queue:

    Artisan::queue('run:daemon');
    

    【讨论】:

    • 当我使用这个方法时,脚本不会等待,也不会在后台运行,但它就像我的另一个 CLI 命令的覆盖。
    猜你喜欢
    • 2019-02-17
    • 2014-01-30
    • 2018-06-07
    • 2016-04-06
    • 2016-09-26
    • 2022-06-23
    • 2015-11-19
    • 2013-11-22
    • 1970-01-01
    相关资源
    最近更新 更多