プロセスの一時停止と再開

サーバが Disk full になりかけていたからとりあえずプロセスを suspend してくれといったら、バックグランドで実行してすでに実行した SSH セッションはログアウト済みなんだけどどうするの、と返された。suspend も resume も signal で実現されているということは案外知られていないものなのだな。まぁ、実際なんていう名前の signal かは自分も覚えていないけど。
プロセスの停止/再開の方法は簡単で、それぞれ kill を使って SIGSTOP と SIGCONT を送ってやれば良い。

% kill -STOP pid

で、suspend。

% kill -CONT pid

で、resume。
当然ながら、shell で実行中のプロセスは Ctrl-z で suspend できるし、fg/bg で resume できる。