fork父进程子进程交替c的代码
时间: 2024-10-17 14:05:29 浏览: 36
使用C语言的fork()函数在Linux中创建进程的实例讲解
在C语言中,你可以使用fork()系统调用来创建一个新的进程,这个新进程被称为子进程,而原进程则称为父进程。下面是一个简单的示例,展示了如何让子进程和父进程交替执行:
```c
#include <stdio.h>
#include <unistd.h>
// 子进程函数
void child(void) {
printf("This is the Child Process.\n");
sleep(1); // 等待一秒
}
// 父进程函数
void parent(void) {
printf("This is the Parent Process.\n");
sleep(1);
}
int main() {
pid_t pid; // 子进程ID
// 创建子进程
if ((pid = fork()) == 0) { // 如果是子进程
child(); // 执行子进程函数
} else if (pid > 0) { // 如果是父进程
parent(); // 执行父进程函数
wait(NULL); // 等待子进程结束
printf("Parent finished.\n");
} else {
printf("Fork failed with error %d.\n", pid);
return -1;
}
return 0;
}
```
在这个例子中,首先通过`fork()`创建一个子进程。如果是子进程,它会立即执行`child()`函数;如果是父进程,则执行`parent()`函数,并在结束后等待子进程完成。通过这种方式实现了父子进程交替执行。
阅读全文