linux中当进程退出时,应用程序调用到exit()相关函数时,对应的内核态的系统调用函数是哪个?
在Linux操作系统中,当一个用户态的应用程序调用exit()
函数以退出进程时,实际上会触发一个系统调用来完成进程的退出操作。这个��统调用在内核态对应的函数是do_exit()
。
具体的过程如下:
exit()
函数。exit()
函数是C标准库(glibc)中的一个函数,它会进一步调用一个系统调用来通知内核进程需要退出。exit()
函数最终会调用_exit()
或_Exit()
,这两个函数会触发系统调用exit_group
(对于多线程程序)或exit
(对于单线程程序)���do_exit()
函数来执行实际的进程退出操作。do_exit()
函数会执行以下操作:
SIGCHLD
信号,通知父进程子进程已经退出。TASK_DEAD
,并将其从调度队列中移除。wait()
或waitpid()
等函数获取。通过这些步骤,内核完成了