编写一段程序,使用系统调用 fork()创建两个子进程。当此程序运行时, 在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字 符:父进程显示字符“a”;子进程分别显示字符“b”和字符“c”。
时间: 2024-05-07 18:18:46 浏览: 176
举例讲解C语言的fork()函数创建子进程的用法
下面是使用 C 语言编写的程序:
```c
#include <stdio.h>
#include <unistd.h>
int main() {
pid_t pid1, pid2;
pid1 = fork(); // 创建第一个子进程
if (pid1 == 0) { // 子进程1
printf("b\n");
} else {
pid2 = fork(); // 创建第二个子进程
if (pid2 == 0) { // 子进程2
printf("c\n");
} else { // 父进程
printf("a\n");
}
}
return 0;
}
```
在这个程序中,我们首先使用 `fork()` 系统调用创建第一个子进程 `pid1`。如果 `pid1` 的值为 0,则说明当前进程是子进程1,我们在屏幕上输出字符“b”。如果 `pid1` 的值不为 0,则说明当前进程是父进程,我们接着使用 `fork()` 系统调用创建第二个子进程 `pid2`。如果 `pid2` 的值为 0,则说明当前进程是子进程2,我们在屏幕上输出字符“c”。如果 `pid2` 的值不为 0,则说明当前进程仍然是父进程,我们在屏幕上输出字符“a”。
阅读全文