具体来说,我想跑
lsyncd lsyncd.lua
Run Code Online (Sandbox Code Playgroud)
和
webpack --progress --color -w
Run Code Online (Sandbox Code Playgroud)
这两个都是长期运行的进程。我想在我的终端中看到两者的输出。如果结果有点混乱并不重要,我只是喜欢看到他们正在做他们应该做的事情。
另外,我希望它在我按下时终止两个进程Ctrl+C。
我想
parallel ::: 'lsyncd lsyncd.lua' 'webpack --progress --color -w'
Run Code Online (Sandbox Code Playgroud)
这似乎有效,但即使我单独运行这些命令时,我也看不到任何输出,但它们会输出一些内容。
使用parallel(在moreutils包中):
parallel -j 2 -- 'lsyncd lsyncd.lua' 'webpack --progress --color -w'
Run Code Online (Sandbox Code Playgroud)
由于该parallel进程在前台运行,因此按CTRL+C将立即终止在其上运行的所有进程。
-j:用于限制同时运行的作业数量;--: 将选项与命令分开。parallel -j 2 -- 'lsyncd lsyncd.lua' 'webpack --progress --color -w'
Run Code Online (Sandbox Code Playgroud)
GNU Parallel 默认推迟输出,直到作业完成。您可以改为要求它在有完整行时立即打印输出。
parallel --lb ::: 'lsyncd lsyncd.lua' 'webpack --progress --color -w'
Run Code Online (Sandbox Code Playgroud)
它避免了输出的半线混合:
parallel -j0 --lb 'echo {};echo -n {};sleep {};echo {}' ::: 1 3 2 4
Run Code Online (Sandbox Code Playgroud)
花 20 分钟阅读 GNU Parallel 2018 的第 1+2 章(在线,印刷)。您的命令行会因此而爱您。
| 归档时间: |
|
| 查看次数: |
12786 次 |
| 最近记录: |