저는 wget
RedHat Linux에서 대용량 파일(~30GB)을 다운로드하기 위해 SSH를 사용하기 시작했습니다. 그러다가 중단하기로 결정하고 를 눌렀습니다 Ctrl+C
. 그런데 갑자기 끊겼어요. 그래서 방금 SSH 연결을 닫았습니다. 시스템에 다시 로그인했을 때 프로세스가 wget
종료되지 않은 것을 발견했습니다.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14834 me 20 0 0 0 0 R 100.0 0.0 22:36.96 wget
그래서 실행을 시도했지만 kill -9 14834
프로세스에 R
상태가 있지만 도움이 되지 않았습니다. 내가 아는 한, 프로세스가 종료되는 것은 정상입니다. 프로세스는 좀비도 아니고 중단할 수 없는 것도 아닙니다. 그런데 왜 죽일 수 없는 걸까요?
PS 또 다른 증상으로는 다운로드한 폴더를 시작할 수 없다는 것을 알았습니다 ls
. du
목록이 중단되고 SSH 세션을 다시 시작해야 합니다. 위의 질문과 관련이 있을까요?
답변1
상태 R의 종료 불가능한 프로세스는 커널 오류이거나 하드웨어 오류입니다.
이런 일이 일어나서는 안 되므로 이를 방지할 수 있는 "법적" 방법은 없습니다. kill -9
너무 어려워요. 이를 중지할 수 있는 안정적인 방법을 찾으려면 오류가 무엇인지(소프트웨어 오류인 경우) 또는 오류가 시스템에 어떤 영향을 미치는지(하드웨어 오류인 경우) 파악해야 합니다.
PC에서 가장 취약한 부분은 RAM이므로 다음을 실행하세요.기억력 테스트. 그리고 커널이 최신 상태이고 사용 가능한 최신 버그 수정 사항이 포함되어 있는지 확인하세요.