concurrency - 如何在 Windows cmd 提示符下并行运行多个命令?

标签 concurrency cmd parallel-processing

我知道可以在 Windows CMD 中的一行中运行两个命令,如下所示:

dir & echo foo

但是如何并行运行两个命令呢?我也知道可以通过使用 START 来实现这一点。但是,您必须将这些命令放入批处理文件中。我想从命令行本身并行启动它们。

我想实现的是这样的:
set NODE_ENV=development&& nodemon -e js,jsx,cjsx,css,scss,html,coffee --watch ./app/ server/server.js & set NODE_ENV=development&& node server/hotLoadServer.js

如果我在单独的窗口中分别运行这些命令,它们就可以完美运行。但我似乎无法让它们在一个 cmd 提示符下作为单行运行。发生的情况是,第一个运行,第二个没有。第一个将保持打开状态,第二个永远不会执行。

最佳答案

这将并行执行两个任务并为每个任务打开一个窗口:

# powershell
start ping google.com; start ping example.com
# cmd
start ping google.com & start ping example.com

这也一样,但/B 选项会阻止打开任何新窗口(在 cmd 中):
start /B ping google.com & start ping example.com

我没有在 powershell 中找到任何直接的等价物,尽管在 powershell 中启动它可以解决问题:
cmd /C 'start /B ping google.com & start /B ping example.com'

另请注意,powershell 的 Start-Job cmdlet 允许用户启动后台作业。

关于concurrency - 如何在 Windows cmd 提示符下并行运行多个命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33018086/

相关文章:

concurrency - SSE指令: which CPUs can do atomic 16B memory operations?

c++ - 确定删除并发队列的安全性

batch-file - 将 Robocopy 批处理转换为 VB 脚本

scala - 如何替换 Scala 2.9 并行集合的 fork 连接池?

java - 有没有更简单的方法来使用并发映射锁?

scala - 在 Scala concurrent.Map 中混合的最佳实践

android - cmd:命令失败,退出代码为 ENOENT

batch-file - 通过批处理文件删除 wmic 结果中不需要的空格

c++ - 改进并行计算的内存布局

performance - Haskell 并行运行速度较慢