kill -0 という手段を初めて知ったので、kill -0 の用途を質問させてください。

kill の man には以下のように書かれています。

sig に 0 を指定した場合、シグナルは送られないが、 エラーのチェックは行われる。これを使って、プロセス ID や プロセスグループ ID の存在確認を行うことができる。

プロセスを制御する手段として、おなじみなのは、PID をファイルに保存しておき、プロセスを終了させたいときは PID ファイルの中身の PID を指定して kill するというものです。

たとえばプロセス foobar を以下のように起動させて

foobar &
echo $! > foobar.pid

終了させるとき

kill -9 $(cat foobar.pid)

ここではシグナル 9 を送信( kill -9 )していますが、冒頭に引用したように、シグナル 0 を送信( kill -0 )することもできるようです。

kill -0 の用途としては、以下のような理解であっているでしょうか?

プロセス foobar の状態と foobar.pid ファイルの存在有無は関係が無い。つまり、foobar.pid ファイルが存在していたとしても、それがプロセス foobar が走っているという保証にはならない。ゆえに、プロセス foobar の状態を確認するために kill -0 を用いる。