【发布时间】:2020-08-21 15:16:31
【问题描述】:
我有一个一个接一个并行触发的进程列表。而且,我需要知道所有这些进程完成执行时的退出代码,无需等待所有进程完成。
虽然status=$?; echo $status 会为执行的最后一个命令提供退出代码,但我如何知道任何已完成进程的退出代码,知道进程 ID?
【问题讨论】:
-
感谢您的指点。解决方案很好,当我们可以按顺序等待所有进程终止时。但在这种情况下,我需要知道退出状态而不等待进程终止。例如,第一个(最快)完成的 pid 的退出代码是什么。
-
使用包装器启动它们,该包装器在进程完成时对退出代码执行任何您想要的操作(例如,将其写入文件“winner”并杀死其余部分)。
-
这需要更多细节和一些代码。我不明白你在这里问什么。是否要检索最早完成的作业的退出状态?
-
如果不等待进程完成,您无法知道进程的退出状态。