我想运行一些命令,在按下 Ctrl-C 之前每个命令都不会退出。有什么我可以运行一次运行所有它们,并且 Ctrl-C 会退出它们吗?他们可以共享终端输出。
具体来说,我有 compass 编译器、coffeescript 编译器和一个监视文件更改的自定义命令,所有这些命令都在运行监视文件更改。我不想为每个命令加载一个终端。
原文由 Oliver Zheng 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想运行一些命令,在按下 Ctrl-C 之前每个命令都不会退出。有什么我可以运行一次运行所有它们,并且 Ctrl-C 会退出它们吗?他们可以共享终端输出。
具体来说,我有 compass 编译器、coffeescript 编译器和一个监视文件更改的自定义命令,所有这些命令都在运行监视文件更改。我不想为每个命令加载一个终端。
原文由 Oliver Zheng 发布,翻译遵循 CC BY-SA 4.0 许可协议
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
2 回答793 阅读✓ 已解决
2 回答3.2k 阅读
此 bash 脚本适用于 N 个并行线程。每个参数都是一个命令。
trap
将在捕获 SIGINT 时终止所有子进程。wait $PID_LIST
正在等待每个进程完成。当所有进程都完成后,程序退出。将此脚本另存为
parallel_commands
并使其可执行。这是如何使用这个脚本:
例子:
启动 4 个并行睡眠并等待“睡眠 4”完成。