在Linux shell脚本中,可以使用特殊变量$?来获取上一个命令或子进程的退出状态。对于多个子进程的退出状态,可以使用数组来保存每个子进程的退出状态,并通过循环遍历数组来获取每个子进程的退出状态。
以下是一个示例脚本,演示如何获取多个子进程的退出状态:
#!/bin/bash
# 定义一个数组来保存子进程的退出状态
declare -a exit_status
# 启动多个子进程
command1 &
exit_status[0]=$!
command2 &
exit_status[1]=$!
command3 &
exit_status[2]=$!
# 等待所有子进程结束
wait
# 遍历数组获取每个子进程的退出状态
for i in "${!exit_status[@]}"; do
wait "${exit_status[$i]}"
echo "子进程 $i 的退出状态为: $?"
done
在上述示例中,我们使用&
符号将命令放入后台执行,并将每个子进程的进程ID保存到数组exit_status
中。然后使用wait
命令等待所有子进程结束。最后,通过循环遍历数组,使用wait
命令获取每个子进程的退出状态,并打印出来。
请注意,上述示例中的command1
、command2
和command3
是占位符,你需要将其替换为实际的命令或脚本。
关于Linux shell脚本和进程管理的更多信息,你可以参考腾讯云的产品文档:
领取专属 10元无门槛券
手把手带您无忧上云