0

我有一种情况,我需要在基于 linux/ubuntu 的机器上手动重新启动队列,而我被告知要遵循的正确方法是使用屏幕命令行应用程序。

我在 Ubuntu 14.X 上,当我执行-ls命令时,我实际上可以看到服务器上正在运行的会话。如果我在屏幕会话之外,以下是我将运行的命令:

mycommandline$ php artisan queue:restart

现在的问题是,如果-ls我从输出中获取会话的端口以包含在我运行的命令中,则会收到以下错误:

无法执行'php artisan queue':没有这样的文件或目录

我也尝试过打字screen "php artisan queue:restart",但我一直遇到同样的问题。

我对屏幕程序一点也不熟悉,任何能指出我正确方向的建议都将不胜感激。

4

1 回答 1

1

好吧,通过谷歌挖掘我想出了下面的命令。鉴于我已经有一个正在运行的会话,我需要确保我在同一个会话上发送我的命令只是为了确定。以下是我最终所做的,它确实确认了屏幕会话中正在发生某些事情:

luyanda@devbox:~$ screen -d -r 19167 -p0 -x stuff "free -g; php artisan queue:restart"
Attaching from inside of screen?

由于我没有看到任何明显的问题,我确信这是我需要做的,因为我的日志文件也在更新,这要么意味着队列从未停止工作,要么我设法重新启动它们。

我仍然有兴趣知道的是,如果我宁愿将输出通过管道传输到其他地方,我如何才能真正看到我发送到我的会话的命令的输出。

有什么想法吗?

于 2016-12-23T10:44:16.557 回答