进程的退出可以显示调用exit()退出也可能隐式的从程序的主函数返回。具体退出操作由do_exit完成。
1.将task_struct中的标志成员设置为PF_EXITING
2.调用del_timer_sync删除任一内核定时器
3.调用exit_mm释放进程占用的mm_struct
4.调用exit_files和exit_fs清除引用计数
5.调用exit_notify向父进程发送通知信号
6.最后调用schedule切换到新的进程,状态置为EXIT_ZOMBLE
进程的退出可以显示调用exit()退出也可能隐式的从程序的主函数返回。具体退出操作由do_exit完成。
1.将task_struct中的标志成员设置为PF_EXITING
2.调用del_timer_sync删除任一内核定时器
3.调用exit_mm释放进程占用的mm_struct
4.调用exit_files和exit_fs清除引用计数
5.调用exit_notify向父进程发送通知信号
6.最后调用schedule切换到新的进程,状态置为EXIT_ZOMBLE