SIGQUIT는 덤프 코어 신호입니다. 사용자가 키를 누르면 터미널은 이를 포그라운드 프로세스로 보냅니다
ctrl-\
. 기본 동작은 프로세스를 종료하고 코어를 덤프하는 것이지만 이를 포착하거나 무시할 수 있습니다. 목적은 사용자에게 프로세스를 중단할 수 있는 메커니즘을 제공하는 것입니다. SIGINT는 "사용자가 시작한 행복한 종료"로, SIGQUIT는 "사용자가 시작한 불행한 종료"로 생각할 수 있습니다.
$ sleep 100
^\[1]+ Done nohup sleep 100
Quit (core dumped)
하지만 현재 디렉터리에서 덤프 파일을 찾을 수 없습니다. 어디야? 감사해요.
답변1
일반적인 상황은 다음과 같습니다.Core 파일을 보는 방법(일반).
이 구체적인 경우는 다릅니다. 귀하의 /proc/sys/kernel/core_pattern
값은 |/usr/share/apport/apport %p %s %c %d %P
귀하의 시스템이 다음을 사용하도록 설정되었음을 나타냅니다.동의하다코어 덤프를 처리 중입니다.특별 대우SIGQUIT
: 설정이 ulimit
허용하고 덤프된 바이너리를 읽을 수 있고아니요setuid 또는 setgid. 출력을 보면 ulimit -c
0이면 코어를 얻을 수 없습니다. 그렇지 않으면 허용된 크기 ulimit
(아마도 "무제한")가 코어 덤프를 저장하기에 충분하면 코어를 얻을 것입니다. Apport는 부분 코어 덤프를 얻지 않도록 보장합니다. 제한이 "무제한"이 아닌 경우 Apport가 제한을 초과했음을 인식하면 제한보다 큰 코어 덤프가 제거됩니다. 코어 파일의 이름은 으로 지정되며 core
그 뒤에는 .
프로세스 식별자( /proc/sys/kernel/core_uses_pid
1인 경우)가 올 수 있습니다.