pid_t fork(void);
(pid_t 是一个宏定义,其实质是int 被定义在 #include<sys/types.h> 中)
复刻(英语:fork,又译作派生、分支)是UNIX或类UNIX中的分叉函数,fork函数将运行着的程序分成2个(几乎)完全一样的进程,每个进程都启动一个从代码的同一位置开始执行的线程。这两个进程中的线程继续执行,就像是两个用户同时启动了该应用程序的两个副本。
头文件:
#include<sys/types.h>
#include<unistd.h>
fork 函数调用成功,返回两次,一次是父进程的 fork ,一次是子进程的 fork
返回值为 0 ; 代表当前进程为 子进程
返回值为 非负; 代表当前进程为 父进程,返回的是新建子进程的 id
调用失败, 返回 -1
getpid() 获得当前 进程的 ID ; 声明:
getppid() 获得当前 进程的父进程的 ID
头文件:#include<unistd.h> #include<sys/type.h>
综述:
在这里我们插入代码块,来熟悉一下这里的 fork() 函数
#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
int main(){
pid_t pid; // 定义一个 进程 ID 型的 变量 pid
printf("before fork: id = %d\n",getpid()