在与控制终端的进程会话中,
如果控制进程关闭控制终端的文件描述符,进程会话是否会与控制终端分离,即没有任何控制终端?
如果会话中的非控制进程关闭控制终端的文件描述符怎么办?
谢谢。
答案1
libc 手册:“...会话中的所有进程都从会话领导者那里继承控制终端。控制终端的会话领导者称为该终端的控制进程。 ……”
根据典型的“守护进程”场景摆脱控制终端的唯一方法是创建新会话。关闭文件描述符不会这样做。
答案2
默认情况下,程序没有与控制终端关联的文件描述符,因此无需关闭任何内容。你可以打开它,但是然后关闭它与控制终端关联无关。