在Linux实验中用Ubuntu实现使用fork()函数循环创建3个子进程,并显示每个子进程的进程号以及其父进程的进程号。
时间: 2024-11-06 21:35:27 浏览: 17
在Linux环境下,你可以使用Ubuntu的bash shell脚本来通过`fork()`函数创建子进程。以下是一个简单的bash脚本示例,它会循环三次,每次循环都会创建一个新的子进程:
```bash
#!/bin/bash
# 父进程PID
PARENT_PID=$$
for i in {1..3}; do
# 创建子进程
if [ $? -eq 0 ]; then
PID=$(echo $!)
echo "父进程(${PARENT_PID})创建了子进程($PID)"
echo "子进程($PID)的父进程ID: $PARENT_PID"
sleep 1 # 稍微暂停让输出更易区分
else
echo " fork() 失败, 错误码: $?"
break
fi
done
```
在这个脚本中,`$?`变量表示上一条命令(这里是`fork()`)的退出状态。如果`fork()`成功,`$!`将得到新子进程的PID。然后我们打印出父进程和子进程的信息。
运行这个脚本,你会看到类似这样的输出:
```
父进程(12345)创建了子进程(12346)
子进程(12346)的父进程ID: 12345
父进程(12345)创建了子进程(12347)
子进程(12347)的父进程ID: 12345
...
阅读全文