SIGQUIT 처리를 위한 코어 덤프 파일은 어디에 저장되어 있나요?

SIGQUIT 처리를 위한 코어 덤프 파일은 어디에 저장되어 있나요?

~에서http://qr.ae/TUTxgN

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 -c0이면 코어를 얻을 수 없습니다. 그렇지 않으면 허용된 크기 ulimit(아마도 "무제한")가 코어 덤프를 저장하기에 충분하면 코어를 얻을 것입니다. Apport는 부분 코어 덤프를 얻지 않도록 보장합니다. 제한이 "무제한"이 아닌 경우 Apport가 제한을 초과했음을 인식하면 제한보다 큰 코어 덤프가 제거됩니다. 코어 파일의 이름은 으로 지정되며 core그 뒤에는 .프로세스 식별자( /proc/sys/kernel/core_uses_pid1인 경우)가 올 수 있습니다.

관련 정보