一些Linux程序中出现奇怪的描述符关闭

3

在追踪一些Linux守护程序(例如sendmail)时,我注意到其中一些程序会在开头调用close()关闭一些描述符(通常从3到255)。这是有意为之还是做其他事情的副作用?

1个回答

3
通常,这是作为将进程变为守护进程的一部分而完成的。
所有文件描述符都会关闭,以便长时间运行的守护进程不会不必要地占用任何资源。例如,如果守护进程继承了一个打开的文件,并且守护进程没有关闭它,则该文件无法被删除(存储空间将保留直到关闭),并且包含该文件的文件系统无法卸载。
将进程变成守护进程还会执行其他一些操作,但这些操作超出了本问题的范围。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接