编写一段程序,使用系统调用fork( )创建一个子进程。当此程序运行时,在系统中有一个父进程和一个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示'a',子进程显示符号'b'
时间: 2024-09-14 16:08:22 浏览: 48
在Unix/Linux环境下,你可以使用C语言编写这样的程序。这里是一个简单的示例,它展示了如何使用`fork()`函数创建子进程并分别在父进程和子进程中打印不同的字符:
```c
#include <stdio.h>
#include <unistd.h>
int main() {
pid_t pid; // 子进程ID
printf("Parent process ID: %d\n", getpid()); // 父进程打印自身ID
// fork()调用
if ((pid = fork()) == 0) { // 如果是子进程
printf("I am child process with PID: %d, and I will print 'b'\n", getpid());
printf('b'); // 子进程打印 'b'
exit(0); // 子进程结束
} else if (pid > 0) { // 如果是父进程
printf("I am parent process with PID: %d, and I will print 'a'\n", getpid());
printf('a'); // 父进程打印 'a'
wait(NULL); // 等待子进程结束
} else {
// fork失败,错误处理
perror("Fork failed");
return -1;
}
return 0;
}
```
当你运行这个程序时,会看到两个进程,一个是父进程,另一个是子进程。每个进程都会独立地打印出'a'或'b'。
阅读全文