2010-12-12 2 views
4

UNIX 신호 시스템의 논리를 설명해 주시겠습니까? 먼저 SIGHUP 신호를 프로세스 그룹에 보내고 SIGHUP의 주요 개념에도 불구하고 SIGUP 신호를 보냅니다. "스스로 죽이고, 더 이상 터미널이 없습니다. "?SIGHUP & SIGCONT

+0

어떤 프로그램입니까? – thejh

답변

3

프로세스가 SIGSTOP (예 : Ctrl + Z를 누를 때 발생 함)으로 중지 된 경우 해당 문제로 인해 SIGHUP에 응답 할 수 없습니다.

+0

하지만 왜 그렇게 다른가요? 멈추지 않은 사람들은 죽고 자고있는 사람들은 단순히 계속됩니다. .. – DimG

+0

@DimG : 아니요, 계속 되 자마자, 그들은 이전에 보내진 SIGSTOP을 얻습니다. 그것은 버려지지 않고 단지 기다려야 만합니다. – thejh

+0

그렇지 않으면 주어진 신호에 대한 신호 처리기가 실행 상태에 관계없이 실행됩니다. SIGHUP은 프로세스를 * 시작 * 종료하게하지만, 일시 중단되면 실제로 발생하지는 않습니다. 왜냐하면 시그널 핸들러에서 발생할 수있는 일들이 매우 제한적이기 때문입니다. SIGCONT는 프로세스를 재개하고 시그널 핸들러 내부에서 발생할 수없는 모든 로직을 허용합니다. – SingleNegationElimination

관련 문제