fork() 函数来创建一个子进程代码
时间: 2024-02-20 20:00:37 浏览: 68
OS.rar_fork孙子进程_创建孙子进程
好的,这是一个关于 fork() 函数的问题。下面是一个简单的示例代码,演示如何使用 fork() 函数创建一个子进程:
```c
#include <stdio.h>
#include <unistd.h>
int main()
{
pid_t pid;
pid = fork();
if (pid == -1) {
perror("fork");
return 1;
} else if (pid == 0) {
// child process
printf("I am the child process! My PID is %d.\n", getpid());
} else {
// parent process
printf("I am the parent process! My PID is %d. My child's PID is %d.\n", getpid(), pid);
}
return 0;
}
```
在这个例子中,我们调用 fork() 函数来创建一个子进程。如果 fork() 函数返回 -1,说明创建子进程失败,我们输出错误信息并退出程序。如果 fork() 函数返回 0,说明当前进程是子进程,我们输出子进程的 PID。如果 fork() 函数返回一个大于 0 的值,说明当前进程是父进程,我们输出父进程的 PID 和子进程的 PID。
当我们运行这个程序时,它会输出类似下面的内容:
```
I am the parent process! My PID is 1234. My child's PID is 1235.
I am the child process! My PID is 1235.
```
这说明我们成功使用 fork() 函数创建了一个子进程,并在父进程和子进程中分别输出了它们的 PID。
阅读全文