【问题标题】:Ubuntu Screen command does not recognize Lumen Queue commandUbuntu Screen 命令无法识别 Lumen Queue 命令
【发布时间】:2016-12-23 09:08:28
【问题描述】:

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

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

mycommandline$ php artisan queue:restart

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

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

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

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

【问题讨论】:

  • 你需要到 artisan 的完整路径
  • 首先你必须进入你的项目目录(例如:- cd D:/www/myproject)然后尝试运行 artisan 命令
  • @Farkie 我刚刚通过找到我正在使用的别名进行了尝试,如果我在命令行本身上测试完整路径,它就可以工作,但是如果我执行 `screen "php /path/to/工匠”我收到相同的消息,指向完整路径,然后是“[屏幕正在终止]”。 @SarangaR 我已经可以做到这一点,这就是我一直在做的事情,但我被建议宁愿通过屏幕会话应用程序与系统进行交互,无论出于什么原因我的老板都知道。

标签: php linux ubuntu laravel-5 lumen-5.2


【解决方案1】:

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

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

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

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

有什么想法吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-15
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多