TCP/IP,Linux下多进程编程,进程复制函数fork,双返回值函数,通过父进程复制一份代码相同的子进程,父子进程执行顺序由调度算法决定,代码中获取进程执行用户的函数,数据共享状态
一、Linux多进程编程:
1、Linux多进程编程中,一个进程产生另一个进程,需要使用fork函数,fork函数可以在代码中复制一个子进程,
2、fork()以后的代码被父子进程执行,fork()以前的代码只被父进程执行,
3、使用man fork查看fork的头文件以及声明。
二、fork双返回值使用方法:
1、返回值有两个,分别是子进程的pid和0,在当前进程(父进程)中会返回创建的子进程的pid,在创建的子进程中会返回0,将返回值与0进行比较可以区分子进程和父进程,并执行不同的操作。
2、创建失败时则会返回-1
3、Linux下的所有进程都是由父进程bash一一fork出来的。
三、验证函数:
1、getpid()获取当前进程的pid
2、getppid()获取当前进程的父进程的pid
注意,当子进程获取父进程的pid时,如果父进程已经运行完毕,获得的父进程的pid就是1(bash进程)或者其他值,否则就是父进程的pid。