(비)제어 프로세스가 파일 설명자를 닫아 제어 터미널을 분리할 수 있습니까?

(비)제어 프로세스가 파일 설명자를 닫아 제어 터미널을 분리할 수 있습니까?

제어 터미널과의 프로세스 세션에서,

  • 제어 프로세스가 제어 터미널의 파일 설명자를 닫으면 프로세스 세션이 제어 터미널에서 분리됩니까? 즉, 제어 터미널이 없습니까?

  • 세션의 비제어 프로세스가 제어 터미널의 파일 설명자를 닫으면 어떻게 되나요?

감사해요.

답변1

libc 매뉴얼: "...세션의 모든 프로세스는 세션 리더로부터 제어 터미널을 상속받습니다. 제어 터미널의 세션 리더를 해당 터미널의 제어 프로세스라고 합니다. …”

~에 따르면일반적인 "데몬" 시나리오제어 터미널을 제거하는 유일한 방법은 새 세션을 만드는 것입니다. 파일 설명자를 닫으면 이 작업이 수행되지 않습니다.

답변2

기본적으로 프로그램에는 제어 터미널과 연결된 파일 설명자가 없으므로 닫을 필요가 없습니다. 켤 수 있지만 끄는 것은 터미널 연결 제어와 아무 관련이 없습니다.

관련 정보