gpt4 book ai didi

linux - 进程死后,Linux 内核在哪里进行进程和 TCP 连接清理?

转载 作者:IT王子 更新时间:2023-10-29 00:23:49 30 4
gpt4 key购买 nike

我正试图在 linux 内核中找到它在进程结束后进行清理的位置。具体来说,我想看看它是否/如何在使用 -9 信号终止进程后处理打开的 TCP 连接。我很确定它会关闭所有连接,但我想查看详细信息,以及连接是否有可能未正确关闭。

欢迎指点 linux 内核源代码。

最佳答案

进程终止的内容由 exit.c:do_exit() 处理.此函数调用 exit_files(),后者又调用 put_files_struct(),后者调用 close_files()

close_files()遍历进程打开的所有文件描述符(包括所有套接字),在每个文件描述符上调用 filp_close(),在 struct file 上调用 fput() 对象。当对 struct file 的最后一个引用被放置时,fput() 调用文件对象的 .release() 方法,对于套接字,是net/socket.c中的sock_close()函数。

关于linux - 进程死后,Linux 内核在哪里进行进程和 TCP 连接清理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4438146/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com