완료하는 데 오랜 시간이 걸리는 서버에서 알고리즘을 실행하고 있습니다. 그러나 어떤 이유로 프로세스가 자동으로 종료되었습니다. 정확한 원인은 확실하지 않으며 인터넷 검색 후에 더 많은 정보를 제공할 수 있는 몇 가지 스크립트를 찾았습니다.
./temp.sh: line 2: 30539 Killed ./process file1
Got SIGNAL 9
process was killed with SIGKILL
dmesg: read kernel buffer failed: Operation not permitted
인터넷 검색을 시도했지만 로그 메시지의 의미가 무엇인지, 수정 방법을 잘 모르겠습니다. 프로세스가 종료되는 이유와 이를 중지하는 방법을 알려줄 수 있는 사람이 있습니까?
저는 4.9.0-6-amd64 커널과 데비안 9를 사용하고 있습니다.
답변1
충분한 정보를 제공하지 않으셔서 정확하게 말씀드리기는 어렵습니다. 시도해 볼 수 있는 작업은 다음과 같습니다.
1) dmesg
다음과 같은 경우 알려주어야 합니다.메모리 오버플로 킬러전체 시스템 메모리가 소진되었기 때문에 활성화되었습니다.
2) cat /var/log/messages
프로세스 관련 문제를 식별하는 데 도움이 될 수 있으며 거기에서만 오류를 필터링할 수 있습니다.
이 두 가지 중 하나가 아닌 경우 를 호출하는 등 애플리케이션에 문제가 있을 수 있습니다 kill
.신호 매뉴얼 페이지):
SIGKILL 및 SIGSTOP 신호는 포착, 차단 또는 무시될 수 없습니다.
따라서 프로그램의 불규칙성으로 인해 커널에서 발생했을 가능성이 높습니다.