Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

大物処理中にログアウトせざるを得ない場合、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

追記 2019/11/05

shuzo-kino.hateblo.jp