인터넷 구글링하다가.. ps 와 kill 에 관한 글을 보다가 갑자기 궁금해서요..
/# ps
PID Uid VmSize Stat Command
1 root 520 S init [3]
2 root SWN [ksoftirqd/0]
3 root SW< [events/0]
4 root SW< [khelper]
5 root SW< [kthread]
24 root SW< [kblockd/0]
53 root SW [pdflush]
54 root SW [pdflush]
56 root SW< [aio/0]
55 root SW [kswapd0]
160 root SW< [kseriod]
209 root SW [mtdblockd]
295 root 892 S -sh
312 root 468 S < udevd
352 root 1156 D ./test
375 root 700 R ps
root@
위와같이 ps를 해보니 352 번의 test 라는 녀석이 D 상태인데..
이 경우 kill -9 를 해도 죽지 않는것 같습니다.
이런 상황에서는 무조건 재부팅 이외에는 방법이 없을까요?
구글링을 해보니.. 이와 유사한 질문이나 상황은 많은데.. 답변은 별로 없네요.. 혹 좋은 방법 아시는 분 계신가요?
==> 원초적으로 이런 프로세서가 발생하지 않게 해야하느 것인지.. 모르겠네요..
D의 경우 uninterruptible sleep인데, interrupt가 불가능한 sleep
이므로 signal(kill명령)으로 처리가 안되는 듯 하네요.
보통 이 경우 uninterruptible sleep으로 동작하는 device등을
다루게 되면 발생할 겁니다...아마도...
사용하는 device쪽을 손 보던가 해야겠네요. 아니면 application을
잘 작성해야할 듯...^^