I can't figure out how to kill this process. I ran du, but it took too long so I tried to kill it. It didn't die. I've tried SIGKILL, SIGSTOP, SIGINT, etc, with no effect (can't kill it, can't stop it). It is not in D or Z state, as you can see in the following top output:

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND                                                                                                                                         
12047 alex      39  19  5656  496  408 R  99.6  0.0 209:10.04 du --max-depth=1 -h

Since it won't stop, I can't attach to it with gdb either.

Does anyone have any ideas how to kill this without rebooting?

  • 2
    Give us the output of ps -l -p 12047 - specifically the value of the WCHAN column. My guess is the process is in "disk wait", which makes it unkillable. – Bruce Ediger Jul 14 '12 at 4:02
  • 2
    I've gone and rebooted, but I used a similar command before I did so, and the WCHAN column only had -. Disk wait would put it in D state, and not result in high CPU, wouldn't it? – lxop Jul 14 '12 at 5:03
  • If it doesn't stop, and wchan is empty, this likely means forever cycle in kernel code. You should study kernel debugging for this. Useful variants are external debugger (commands are sent from another machone) and tracing hooks. – Netch Jul 14 '12 at 5:47
  • 1
    Is this by any chance done on a sshfs mount? – Thor Jul 14 '12 at 11:28
  • 1
    @lxop can you reproduce this? – xenoterracide Jul 20 '12 at 13:18

Try using killall -9 (name of process)

| improve this answer | |
  • 2
    Signal 9 is SIGKILL, which he said he already tried – Michael Mrozek Jul 20 '12 at 14:01

Not the answer you're looking for? Browse other questions tagged or ask your own question.