Ctrl+ C는 SIGINT
실행중인 프로세스로 a 를 전송합니다. 이 신호는 프로세스에 의해 잡힐 수 있습니다. make 소스 코드에서이 신호에 대한 트랩을 찾을 수 있습니다 commands.c
.
/* If we got a signal that means the user
wanted to kill make, remove pending targets. */
if (sig == SIGTERM || sig == SIGINT
... remove childrens ...
/* Delete any non-precious intermediate files that were made. */
remove_intermediates (1);
remove_intermediates()
의 정리 함수입니다 ( make
여기에서 정의 참조).
/* Remove all nonprecious intermediate files.
If SIG is nonzero, this was caused by a fatal signal,
meaning that a different message will be printed, and
the message will go to stderr rather than stdout. */
나중에 볼 수있는 기능에서 효과적으로 삭제됩니다.
status = unlink (f->name);
결론 :
일반적으로로 컴파일을 방해하는 것을 두려워하지 마십시오 make
. SIGKILL, SIGSEGV, SIGSTOP
잡을 수 없는 신호 ( ) 가 아닌 경우 중간 파일을 정리합니다.