Linux保持命令长期执行

以 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

你可能感兴趣的:(php,开发语言)