터미널의 연결이 끊어지면 운영 체제 커널은 터미널의 제어 프로세스에 SIGHUP을 보냅니다.
터미널 에뮬레이터가 종료되면 누가 터미널 에뮬레이터의 기반이 되는 의사 터미널(운영 체제 커널 또는 터미널 에뮬레이터)의 제어 프로세스에 SIGHUP을 보내는가?
감사해요.
답변1
귀하의 질문에 답변이 이미 포함되어 있습니다. 터미널의 연결이 끊어지면 커널은 터미널의 제어 프로세스에 SIGHUP 신호를 보냅니다. 커널의 드라이버에 의해 생성된 터미널의 경우 드라이버가 이를 나타낼 때 터미널의 연결이 끊어집니다. 의사 터미널의 경우 터미널 마스터에 대한 파일 핸들이 닫히면(터미널 에뮬레이터 프로세스가 명시적으로 닫거나 터미널 에뮬레이터 프로세스가 종료되기 때문에) 터미널 연결이 끊어집니다.
1 제어 프로세스는 터미널에서 처음 실행되는 모든 프로세스입니다. 보다 정확하게는 세션 리더일 때 터미널을 여는 첫 번째 프로세스이거나 터미널이 열릴 때 세션 리더가 되는 첫 번째 프로세스입니다(프로세스가 남아 있는 경우). 세션 리더).
² 주 제어 측은 에뮬레이터 측입니다. 슬레이브는 터미널에서 실행되는 애플리케이션의 측면입니다.
³ 여러 프로세스가 터미널의 기본 측면을 열어 둔 경우 파일 설명자를 닫으려면 파일 설명자를 모두 닫아야 합니다(아마도 죽어서).