以 php artisan queue:work 为例,该命令关掉终端窗口就会停止运行
如何让命令关掉窗口还是保持运行状态?
除了laravel文档所提到的 supervisor 来管理 php artisan queue:work
命令的执行,还可以通过使用 Linux 的 Screen 命令来启动一个新的终端窗口,并在其中运行 php artisan queue:work
命令
下面就主要说下Linux 的 Screen 命令如何使用
一、首先运行screen命令 如screen -S queue
如果报错没有该命令,则安装,安装命令如下:
sudo yum install screen
安装完成后,您应该可以使用 screen
命令创建新的会话并执行命令了。如果仍然出现 "command not found" 错误,请检查您的系统路径配置是否正确,并尝试重新登录系统。
二、创建新的虚拟终端窗口
screen -S queue
screen
是 Linux 操作系统中的一个命令行工具,它可以创建一个虚拟的终端窗口,并在其中执行命令,同时允许用户在不同的虚拟终端窗口之间切换。
-S
参数是 screen
命令中的一个选项,用于指定会话的名称。当您创建一个新的 screen
会话时,可以使用 -S
选项来为该会话指定一个唯一的名称,以便稍后重新连接或操作该会话。
在 screen
会话中,您可以执行各种命令,就像在常规终端窗口中一样。在这种情况下,screen -S queue
命令会创建一个名为 "queue" 的 screen
会话,并在其中启动 php artisan queue:work
命令。这样,即使您关闭了 SSH 连接,队列任务处理器也会继续运行。当您需要重新连接到该会话时,可以使用以下命令:
screen -r queue
该命令将重新连接到名为 "queue" 的 screen
会话,并恢复在该会话中执行的命令的状态。
三、总结
如果要让php artisan queue:work在保持运行,只需要如下命令
screen -S queue
php artisan queue:work
下次进入
screen -r queue