2013/09/02更新

[AmazonEC2] ログアウトしても処理を実行し続ける方法

このエントリーをはてなブックマークに追加            

こんにちは、@yoheiMuneです
Linuxについてばりばりと学習中っ!本日は、ログアウトしても処理をやり続けるnohupコマンドについてブログを書きたいと思います。

画像



Amazon EC2からログアウトしてもnodeの処理を行いたい

今回ログアウトしても処理を継続したい理由として、 Amazon EC2上に構築したnode.jsのプログラムを簡単に動かし続けたいという思いがありました。
正式には違うのかもしれませんが、nohupというコマンドを使うと目的を達成できました。

使い方は簡単で、ログアウトしても続けたい処理のコマンドの前にnohupコマンドを書く感じです。以下例です。
$ nohup node app.js
これで「node app.js」という処理をログアウト後も継続して行うことが出来ます。簡単♪(´ε` )



nohupで動かしている処理の状況を知る

nohupで起動してログアウトしてしまっても、処理の実行状況を知ることが出来ます。
処理でコンソール出力している(console.log('message'))場合には、nohupを実行したディレクトリに、nohup.outというファイルが生成されます。 そのファイルには、コンソール出力が記録されています。



nohupで起動している処理を止める

nohupで起動している処理を止める為には、再度サーバーへログインして、以下のように行います。 まずは、nohupで起動している処理のプロセスIDを見つけます。
$ ps aux | grep node
これでnodeという単語が入った処理がいくつかリストアップされます。 その中から「node app.js」の処理を探し、そのプロセスIDを探します。今回はプロセスIDを「9988」だったとします。 そのプロセスを以下のように終了させます。
$ kill 9988
こんな感じで、必要なくなった処理を終了することで、不要なプロセスが増えることを防ぐことが出来ます。



最後に

短い内容でしたが、AmazonEC2とかでSSHログアウト後にも処理を続ける方法でした。 知ると簡単な方法なのですが、時々行うとコマンドを忘れたりするので備忘録的にブログに書きました。どなたかの役に立てば良いなぁ。

最後迄ご覧頂きましてありがとうございました。





こんな記事もいかがですか?

RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。