에 따르면 top
명명된 프로세스의 CPU 로드는 pccardd
100%에 가깝습니다.
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을 수신하고 여전히 남아 있는 유일한 방법은 다음과 같습니다.
- 프로세스는 중단할 수 없는 절전 상태( 로 표시됨
D
)에 있습니다. - 해당 프로세스는 좀비 프로세스( 로 표시됨
Z
)입니다. - 이것은 커널 프로세스입니다.
[]
출력에서 프로세스 이름 주위의 대괄호( )는 ps
커널 프로세스인 #3을 나타냅니다.
그래서 당신은 그것을 죽일 수 없습니다. strace
커널도 사용할 수 없습니다 .
가능한 유일한 해결책은 이 프로세스와 관련된 모듈을 삭제하는 것입니다. 하지만 그 모듈이 무엇인지는 모르겠습니다. 관련 메시지를 확인 dmesg
하고 웹에서 오류를 검색하기도 합니다.