Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

大物処理中にログアウトせざるを得ない場合、nohupコマンドをつかう

昔々、わけも分からずRails3でアプリをガチガチ作っていたころのお話。

railsを起動する時にオマジナイとして、以下のような感じでnohupを使っていました。

$ nohup rails

最近は完全にrailsから離れてますが、このコマンド一体何だったのだろうと思いmanを見たところ

NAME
nohup -- invoke a utility immune to hangups

(ry

DESCRIPTION
The nohup utility invokes utility with its arguments and at this time
sets the signal SIGHUP to be ignored. If the standard output is a termi-
nal, the standard output is appended to the file nohup.out in the current
directory. If standard error is a terminal, it is directed to the same
place as the standard output.

Some shells may provide a builtin nohup command which is similar or iden-
tical to this utility. Consult the builtin(1) manual page.

……えっと、要はログアウトしても実行してくれると。
バッチ処理みたいな時に使うもんだったのですね。
"nohup.out in the current directory."とあるように、
ログファイルは実行したディレクトリにnohup.outというファイル名で保存されるとの事です。
……そういえば、安物サーバーに置いたアプリがnohupのログファイルが原因でクラッシュしたことがありましたね(遠い目

プロセスを停止する場合は

$ ps -ax | grep rails
$ kill -9 "railsのid"

か、モット楽に

$ pkill rails