(매우) 큰 프로세스가 충돌하고 코어를 덤프한다고 가정하고 다른 정보 (아마 주장 메시지, 아마도 다른 것)의 원인을 알고 있다고 가정 해 봅시다.
이 경우 낭비이므로 코어 덤프가 완전히 생성되는 것을 막을 수있는 방법이 있습니까?
예를 들어 코어 덤프 프로세스의 -9를 종료하면 코어 파일 생성이 중단됩니까?
코어 덤프를 원하지 않는다는 것을 미리 알고 있다면 ulimit를 적절하게 설정하거나 OS의 다양한 코어 파일 제어 유틸리티를 사용할 수 있습니다.
그러나이 질문은 “핵심 덤프가 이미 진행 중”단계에 관한 것입니다 …
(예를 들어, 내가 /programming/18368242/how-to-bypass-a-2tb-core-dump-file-system-limit 의 요청자
이고 5를 낭비하고 싶지 않다고 상상해보십시오.
-6TB의 디스크 공간 :))
답변
일반적으로 : 아니요, 코어 덤프를 안정적으로 죽일 방법이 없습니다.
상용 * NIX에 대한 가능성은 (적어도 리눅스에서는) 있다고 말할 수 있습니다.
가능성은 커널 3.x 시리즈가 파일 쓰기를 방해 할 수 있다는 사실에 있습니다. 한 가지 가능성은 덤프를 수행하는 스레드를 찾아서 성공할 때까지 SIGKILL을 반복해서 전송하는 것입니다.
이 패치 시리즈 는 문제를 어느 정도 해결합니다.
다른 가능성은 coredump_pattern에 대체 구문을 사용하는 것입니다. 매뉴얼은 패턴 대신 2.6.19부터 덤프를 처리 할 파이프와 프로그램 (매개 변수 포함)을 사용할 수 있다고 말합니다. Ergo는 어느 덤프를 어디에 쓸 것인지 제어 할 수 있습니다 (/ dev / null은 쓸모없는 코어의 확실한 후보입니다).
이 패치는 약간의주의를 기울여야합니다 : http://linux.derkeiler.com/Mailing-Lists/Kernel/2010-06/msg00918.html
답변
이 링크를 확인하면 도움이 될 수 있습니다.
https://publib.boulder.ibm.com/httpserv/ihsdiag/coredumps.html
답변
코어 덤프 크기를 제한하기 위해 ulimit -c (bash를 사용한다고 가정)를 실행할 수있는 것처럼 보입니다.
참조 : /ubuntu/220905/how-to-remove-limit-on-core-dump-file-size
과