Linux-进程相关函数接口-008
1【fork】
1.1函数原型
1.2函数功能
创建一个子进程,新创建的进程成为原来进程的子进程,原来的进程称为新进程的父进程。父进程调用fork创建子进程,子进程拷贝父进程的文本段、数据段、系统数据段
系统数据段:包括栈区,堆区
1.3函数参数
无
1.4返回值
【成功】:父进程返回子进程的PID;子进程返回0
【失败】:返回-1 getpidpid_t getpid(void);功能:获得调用进程的PID号getppidpid_t getppid(void);功能:获得调用进程的PPID练习:创建一个父进程的2个子进程,子进程中打印自己的PID和父进程的PID,父进程中打印自己的PID和两个子进程的PID
2【exit】
2.1函数原型
【void exit(int status);】
2.2函数功能
让进程结束exit在主函数中使用和return效果一致
exit会刷新缓存区
2.3函数参数
2.3.1【status】
进程结束的状态
2.4返回值
无
3【_exit】
3.1函数原型
【void _exit(int status);】
3.2函数功能
让进程直接结束
3.3函数参数
3.3.1【status】
进程结束的状态
3.4返回值
无
4【wait】
4.1函数原型
【pid_t wait(int *wstatus);】
4.2函数功能
回收子进程空间函数的应用:
(1)【wait】函数具有阻塞功能
(2)【wait】函数具有同步功能
如何理解同步:
4.3函数参数
4.3.1【wstatus】
存放子进程结束状态空间的首地址
4.4返回值
成功返回回收到的子进程PID
失败返回-1
5几个常用的带参宏
5.1
WIFEXITED(wstatus)
进程是否正常退出
5.2
WEXITSTATUS(wstatus)
进程结束状态值
5.3
WIFSIGNALED(wstatus)
进程是否被信号杀死
5.4
WTERMSIG(wstatus)
获得杀死进程的信号编号练习:创建一个进程的9个子进程,子进程中打印自己的PID和父进程的PID,父进程中打印自己的PID和9个子进程的PID