shell命令程序调用wait获取子进程状态
时间: 2024-05-01 19:16:08 浏览: 176
查看系统进程的shell脚本
5星 · 资源好评率100%
在 shell 中,可以通过 `wait` 命令来等待一个或多个子进程执行完毕,并获取它们的状态。`wait` 命令的基本语法如下:
```
wait [pid ...]
```
其中,`pid` 表示要等待的子进程的进程 ID。如果不指定 `pid` 参数,则 `wait` 命令会等待所有子进程执行完毕。
当一个子进程执行完毕后,它的退出状态会被保存到一个特殊变量 `$?` 中。而 `wait` 命令会返回最后一个执行完毕的子进程的进程 ID。
下面是一个使用 `wait` 命令获取子进程状态的示例:
```bash
#!/bin/bash
echo "Starting parent process $$"
for i in 1 2 3; do
echo "Starting child process $i"
sleep $i &
done
echo "All child processes started"
wait
echo "All child processes completed"
exit 0
```
在这个示例中,首先输出父进程的进程 ID,然后启动了三个子进程,每个子进程都会睡眠一段时间。接着使用 `wait` 命令等待所有子进程执行完毕,并输出了所有子进程的退出状态。最后输出所有子进程都已经完成的消息,并退出脚本。
阅读全文