运行一个简单的fork函数示例
时间: 2024-09-14 12:14:20 浏览: 26
当然,下面是一个简单的C语言`fork()`函数的示例,这个例子展示了父进程和子进程的基本交互:
```c
#include <stdio.h>
#include <unistd.h>
int main() {
pid_t child_pid;
// Fork操作
if ((child_pid = fork()) == 0) { // 子进程分支
printf("This is the child process, my PID is %d.\n", getpid());
} else if (child_pid > 0) { // 父进程分支
printf("This is the parent process, I just created a child with PID %d.\n", child_pid);
// 等待子进程结束
wait(NULL); // 如果子进程正常结束,wait()会阻塞直到子进程结束
printf("Child process has ended.\n");
} else {
perror("Fork failed");
return 1;
}
return 0;
}
```
在这个示例中,父进程首先调用`fork()`,如果返回值大于0,那么当前进程就是父进程,会打印出子进程的PID;如果返回值为0,说明这是子进程,它会打印出自己的PID。此外,父进程还会等待子进程结束,以便继续控制流程。
注意,这里只是简单演示了基本用法,实际应用中可能还需要考虑更多的错误处理和资源管理。