linux c++(进程相关的函数 & 第一篇 fork)

进程相关的函数

创建一个新的线程 
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;
}
上一篇:大数据计算平台Spark内核全面解读


下一篇:进程基础