快速浏览fork()函数创建进程操作演示
发布时间:2023-06-16 15:05:00
发布人:lxl
下面是一个快速浏览使用`fork()`函数创建进程的简单演示代码:
```c
#include <stdio.h>
#include <unistd.h>
int main() {
pid_t pid = fork(); // 创建子进程
if (pid == -1) {
// fork()失败,出现错误
printf("创建子进程失败!\n");
} else if (pid == 0) {
// 子进程代码
printf("这是子进程!\n");
printf("子进程的PID:%d\n", getpid());
printf("父进程的PID:%d\n", getppid());
} else {
// 父进程代码
printf("这是父进程!\n");
printf("父进程的PID:%d\n", getpid());
printf("子进程的PID:%d\n", pid);
}
return 0;
}
```
上述代码使用了`fork()`函数创建了一个子进程。当调用`fork()`函数时,操作系统会创建一个新的进程,并将父进程的所有内容复制给子进程。然后,`fork()`函数返回两次:在父进程中返回子进程的PID(大于0),在子进程中返回0。通过判断返回值,我们可以区分父进程和子进程的执行代码。
在上述代码中,父进程和子进程分别输出自己的进程类型(父进程或子进程)以及对应的进程ID(PID)。通过调用`getpid()`函数获取当前进程的PID,调用`getppid()`函数获取父进程的PID。
当运行上述代码时,会输出类似以下内容的结果:
```
这是父进程!
父进程的PID:1234
子进程的PID:1235
这是子进程!
子进程的PID:1235
父进程的PID:1
```
以上是一个简单的`fork()`函数创建进程的操作演示,通过创建子进程,我们可以实现多进程的并发执行,进行一些并行计算、任务分发等操作。
下一篇外键约束的作用