用于捕获bash中最后一个后台进程的退出状态的命令

时间:2013-11-28 04:48:26

标签: linux bash

我需要完成最后一个后台任务的退出状态。因此,我可以判断它是否失败或通过。 我这样做。

#!bin/sh
task1 &
task2

echo $? # give the exit status of last command
  1. 如何获取task1的退出状态。
  2. 在task2之后我需要保持等待命令吗?

2 个答案:

答案 0 :(得分:3)

除非您致电wait等待它完成,否则您无法获得后台命令的退出状态。 wait的退出代码是后台任务的退出代码,因此,如果您检查wait的退出代码,那么它就是您想要的值。

task1 &
task2

wait    
echo $?

答案 1 :(得分:0)

等待不返回task1的状态。如果您需要状态,则必须指定task1的pid。