linux编写程序,在程序中创建一个子进程,使父子进程分别打印不同的内容
时间: 2024-09-15 07:04:34 浏览: 81
Linux中使用C语言的fork()函数创建子进程的实例教程
在Linux环境下编写程序,你可以使用`fork()`函数来创建子进程。`fork()`是一个系统调用,它会复制当前进程的所有信息并创建一个新的进程。下面是一个简单的示例,展示了如何在C语言中创建子进程并让它们各自打印不同的内容:
```c
#include <stdio.h>
#include <unistd.h>
// 父进程的主函数
int main() {
pid_t child_pid; // 子进程ID
// 创建子进程
if ((child_pid = fork()) == 0) { // 如果是子进程
printf("我是子进程,我的PID是:%d\n", getpid());
// 打印特定内容
printf("子进程将打印:Hello from Child!\n");
} else if (child_pid > 0) { // 如果是父进程
printf("我是父进程,我的PID是:%d,子进程PID是:%d\n", getpid(), child_pid);
// 等待子进程结束
wait(NULL); // 使用wait()等待子进程结束
} else {
perror("Fork failed!");
return 1;
}
return 0;
}
```
在这个例子中,如果执行的是父进程,它会创建一个子进程并在子进程中打印"Hello from Child!"。同时,父进程会打印一些关于自身的信息以及子进程的PID。注意,`wait()`函数用于父进程等待子进程结束。
阅读全文