"kill -9" /SIGKILL을 사용하면 안되는 이유

"kill -9" /SIGKILL을 사용하면 안되는 이유

직접 답변하지 않아서 이 질문을 게시했습니다. 중복된 내용이라면 사과드립니다. 읽었습니다.

kill -9둘 중 하나가 나쁘다 는 말을 들었지만 kill -SIGKILL왜 그런지 이해가 되지 않습니다. 내가 kill -9뭔가를 하지 말아야 한다면~해야 한다프로세스를 종료하고 싶나요?

답변1

SIGKILL실행 중인 프로세스 아래에서 깔개를 꺼내 즉시 종료합니다. 이는 매우 간단한 프로그램에는 적합하지만 실제로는 "간단한" 프로그램이 거의 없습니다.

겉으로는 사소해 보이는 프로그램이라도 finally리소스 핸들 닫기, 임시 파일 삭제, 파일 내 데이터 새로 고침 등 종료 전에 정리해야 하는 다양한 트랜잭션 작업(Java 및 기타 프로그래밍 언어의 블록 생각)을 수행합니다. 메모리를 디스크로. 프로그램이 언제 이와 같은 작업을 수행할지 예측할 수 없습니다.

운이 좋으면 보낼 때 아무 문제도 발견하지 못하겠지만 SIGKILL, 항상 운이 좋은 것은 아니며, 잃어버린 것을 복구하기에는 너무 늦을 때까지 무엇이 잘못되었는지 알 수 없을 수도 있습니다.

을(를) 보낼 필요가 거의 없으며 SIGKILL그렇게 하기 전에 다른 모든 옵션을 모두 사용했는지 확인해야 합니다. 대부분의 경우 다시 시작하는 것(결국 SIGKILLs를 잘못된 프로그램으로 보내는 것)이 s를 수동으로 보내는 것보다 안전합니다 SIGKILL. 제가 겪은 일이 한 손에 꼽힐 정도일 것 같아요.필요하나를 보내십시오 SIGKILL(아마 모두 제가 만든 것일 것입니다).

일반적으로 Ctrl+ C(포그라운드 프로세스로 보내기 SIGINT) 또는 SIGTERM(예: "kill")을 사용하여 프로세스가 수행 중인 작업을 중지하고 종료하도록 지시할 수 있습니다.

추가 내용:

관련 정보