![在 GNU 并行中暂停并等待字符](https://linux22.com/image/117394/%E5%9C%A8%20GNU%20%E5%B9%B6%E8%A1%8C%E4%B8%AD%E6%9A%82%E5%81%9C%E5%B9%B6%E7%AD%89%E5%BE%85%E5%AD%97%E7%AC%A6.png)
我希望将计时暂停替换为 GNU 并行执行中的 getchar() 等效项:
parallel -j2 --halt 2 ::: 'sleep 5m; return 1' './runMe'
但是,以下内容不起作用(它立即完成第一个作业的执行):
parallel -j2 --halt 2 ::: 'read -n1 kbd; return 1' '/runMe'
除了等待还有其他办法吗?注意:./runMe 包含无限循环。
答案1
GNU Parallel 可以使用-p
.
parallel -p echo ::: 1 2 3
y
你每次都必须回答,但这也许就足够了。
另请注意,任何输出都会延迟。并行运行 3 个作业时,作业 1 的输出将在启动作业 3 后打印。