/*
#include <unistd.h>
#include <sys/types.h>
pid_t fork(void);
作用:用于创建子进程
返回值:fork() 的返回值会返回两次。一次在父进程中,一次在子进程中
在父进程中返回创建的子进程的ID,
在子进程中返回0。
通过fork的返回值可以区分父进程和子进程
在父进程中返回-1,表示创建子进程失败,并且设置errno
*/
示例:
int main(){
//创建子进程
pid_t pid = fork();
//判断是父进程还是子进程
if(pid > 0){
// 大于0则当前是父进程
printf("pid: %d\n", pid);
printf("I am parent process, pid: %d, ppid: %d\n", getpid(), getppid());
}else if(pid==0){
// 等于0则当前是子进程
printf("I am child process, pid: %d, ppid: %d\n", getpid(), getppid());
}
//父进程和子进程共享的代码,父子进程交替输出,二者都会执行1000次循环
int i=0;
for(i; i<1000; i++){
printf("%d, pid: %d\n", i, getpid());
sleep(1);
}
return 0;
}