进程相关的函数
创建一个新的线程
pid_t fork(void);
* 失败 -1
* 成功,两次返回
父进程返回,子进程的id
子进程返回0
pid_t getpid(void); //获得当前进程的
pid_t getppid(void); //获得当前进程父进程的id
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
printf("Begin ....\n");
pid_t pid = fork();
if(pid < 0)
{
perror("fork err");
return -1;
}else if(pid == 0)
{
//子进程
printf("I am child,pid = %d,ppid=%d\n",getpid(),getppid());
while(1)
{
printf("I am child\n");
sleep(1);
}
}else if(pid > 0)
{
//父进程的逻辑
printf("childpid = %d,self = %d,ppid=%d\n",pid,getpid(),getppid());
//父进程会比子进程死的早
while(1)
{}
}
printf("End ....\n");
return 0;
}