【问题标题】:batch - multi threading artisan servers批处理 - 多线程工匠服务器
【发布时间】:2018-09-03 17:18:00
【问题描述】:

问题很简单,如何同时运行两个 php artisan 命令?

我有两个命令:

php artisan serve --host=0.0.0.0 --port=80php artisan queue:work --queue=high,default

如果我在单独的 cmd 窗口中运行它们,它可以工作,但我希望它们只在一个 cmd 窗口中。

这可能吗?我目前有这个代码:

@ECHO OFF
ECHO Starting DigiCoach Application
TITLE Digicoach Console application
ECHO This might take a while...
CMD /T:70 /b php artisan serve --host=0.0.0.0 --port=80
CMD /T:70 /b php artisan queue:work --queue=high,default

【问题讨论】:

  • 尝试安装这个(cmder.net)你可以在一个窗口中打开多个标签,就像chrome一样。
  • 这不是我的问题......这里的理想情况是有某种我可以运行的 exe,然后运行一堆命令(多线程)而不是我,在新的终端窗口中手动输入每个命令...

标签: php windows laravel batch-file cmd


【解决方案1】:

如果您启动它们,它们将并行运行:

Start "" php artisan serve --host=0.0.0.0 --port=80
Start "" php artisan queue:work --queue=high,default

编辑。根据@Aacini 的评论,/b 开关可能对您的要求很有用,因为它会在不打开新窗口的情况下启动两个命令。

Start /b "" php artisan serve --host=0.0.0.0 --port=80
Start /b "" php artisan queue:work --queue=high,default

但我不建议这样做,因为输出不会是您所期望的。像调用 2 条 ping 命令这样简单的命令可能会产生似乎是未知语言的输出,因为一个命令的输出会干扰其他命令。

【讨论】:

  • 是的,我已经做到了这一点,但是我如何将这些输出“合并”到一个(自定义)cmd 窗口中? (除非按 X 和确认,否则您无法关闭?
  • 这不会在单个窗口中发生。
  • 难道不能制作一个Dotnet 控制台应用程序来做到这一点吗?
  • 你真的不想让它们都喷到同一个控制台,除非它们输出的所有东西都是一行。即便如此,在共享屏幕方面,并非所有应用程序都能相互配合。
  • @aacini 我不是 100% 确定这是 OP 想要的,但是是的,你是对的,它可能就是他想要的。我更新了我的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-29
  • 2012-11-12
  • 2022-07-20
相关资源
最近更新 更多