I kept back the
kill command from coreutils because there’s one thing it can do, one flag in particular, that I felt I should mention.
kill itself has a lot of options for stopping programs — gracefully or ungracefully — but the most helpful thing it does for me is this:
kill -USR1 9003
where 9003 (or whatever) is the PID of my old friend dd, the cool tool with no output whatsoever. Except that when it gets a
-USR1 flag from
kill, it actually spits out a little information.
kmandla@6m47421: ~$ dd if=/dev/zero of=/dev/null 9482411+0 records in 9482411+0 records out 4854994432 bytes (4.9 GB) copied, 12.4079 s, 391 MB/s
So in a worst-case scenario, when I’m wondering if
dd is actually still running or has fallen into a trance state and maybe never coming back,
kill and the
-USR1 flag at least tells me if it has a pulse.
kill does other stuff too, but I do enjoy the irony of sending the
kill command to see if a program is still alive.