응답하지 않는 프로세스 종료

응답하지 않는 프로세스 종료

에 따르면 top명명된 프로세스의 CPU 로드는 pccardd100%에 가깝습니다.

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND                                                                                                    
  530 root      20   0     0    0    0 R  96.6  0.0  62:01.52 pccardd    

ps프로세스 실행 상태 에 따라 :

root@T60:~# ps -o pid,ppid,command,state,uid,pcpu -p 530
  PID  PPID COMMAND                     S   UID %CPU
  530     2 [pccardd]                   R     0  0.2
root@T60:~# 

내가 죽이려고 하거나 pccardd신호 를 SIGTERM보내면 SIGKILL아무 일도 일어나지 않습니다. 아마도 이것이 바로 작동하지 않을 것이라는 것을 알고 있지만 kill -9한 시간 넘게 기다리고 있었습니다. 프로세스가 pccardd일부 시스템 호출을 수행하여 SIGKILL신호가 차단될 가능성이 있습니까? 이를 보장하기 위해 을 사용해 보았지만 다음 strace과 같은 작업을 수행할 수 없습니다.

root@T60:~# strace -p 530
attach: ptrace(PTRACE_ATTACH, ...): Operation not permitted
root@T60:~# 

이 프로세스를 종료할 수 있는 방법이 있습니까 pccardd? 아니면 컴퓨터를 강제로 다시 시작해야 합니까?

답변1

프로세스가 SIGKILL을 수신하고 여전히 남아 있는 유일한 방법은 다음과 같습니다.

  1. 프로세스는 중단할 수 없는 절전 상태( 로 표시됨 D)에 있습니다.
  2. 해당 프로세스는 좀비 프로세스( 로 표시됨 Z)입니다.
  3. 이것은 커널 프로세스입니다.

[]출력에서 프로세스 이름 주위의 대괄호( )는 ps커널 프로세스인 #3을 나타냅니다.

그래서 당신은 그것을 죽일 수 없습니다. strace커널도 사용할 수 없습니다 .

가능한 유일한 해결책은 이 프로세스와 관련된 모듈을 삭제하는 것입니다. 하지만 그 모듈이 무엇인지는 모르겠습니다. 관련 메시지를 확인 dmesg하고 웹에서 오류를 검색하기도 합니다.

관련 정보