所有进程的终止都是由do_exit()函数来处理的,这个函数从内核数据结构中删除对终止进程的大部分引用。do_exit()函数接受进程的终止代号作为参数并执行下列操作:
-
把进程描述符的flag字段设置为PF_EXITING标志,以表示进程正在被删除。
-
如果需要,通过函数del_timer_sync()从动态定时器队列中删除进程描述符。
-
分别调用exit_mm()、exit_sem()、
所有进程的终止都是由do_exit()函数来处理的,这个函数从内核数据结构中删除对终止进程的大部分引用。do_exit()函数接受进程的终止代号作为参数并执行下列操作:
把进程描述符的flag字段设置为PF_EXITING标志,以表示进程正在被删除。
如果需要,通过函数del_timer_sync()从动态定时器队列中删除进程描述符。
分别调用exit_mm()、exit_sem()、