一:函数exit
进程有五种正常终止的方式和三种异常终止的方式。五种正常的退出方式为:
1.main中调用return,等效于调用exist
2.调用exit函数
3.调用_exit和_Exit函数。
4.进程的最后一个线程启动例程中调用return语句。
5.进程的最后一个线程调用pthread_exit函数。
三种异常的退出方式为:
1.调用abort。
2.进程受到了某些信号,比如除以0.
3.最后一个线程对“取消”请求作出相应(不太理解)。
二:函数wait和waitpid
当一个进程终止之后,内核会向其父进程发送信号,该信号为异步发送,一般父进程会选择忽略。如果调用wait和waitpid,进程可能发生如下情况。
1.如果其所有的子进程还在运行,则阻塞。
2.如果一个子进程终止,正等待父进程获取他的终止状态,则取得该子进程的终止状态立即返回。
3.如果它没有任何子进程则立即出错返回。
函数声明如下:
三:函数waitid
函数的定义如下:
该函数和waitpid相似,waitid允许一个进程指定要等待的子进程,但是它使用单独的两个参数来表示等待的子进程所述的类型。
四:函数wait3和wait4
函数声明如下:
这两个函数的功能要比前三个丰富,允许返回子进程的资源使用情况。包括,CPU时间总量,、系统CPU时间总量、缺页次数、接收到的信号的次数等等。
APUE读书笔记(11) 进程控制(中)
最新推荐文章于 2019-07-07 14:43:20 发布