最終更新: hira_kosukety 2019年12月19日(木) 14:25:22履歴
AWSのEC2へSSH接続などして、nodejs+expressで作ったアプリをバックグラウンド起動させ、
ターミナルを落としても起動させ続けたい場合。
バックグラウンドで動かすには、npm start の後ろに「&」を付ければ良い。
ただしこれだと、ターミナルが落ちた際に、終了の信号が発生して、アプリも死んでします。
そこで、終了の信号を受け付けない「nohup」を組み合わせる。
基本はこれでよい。ただし、SSH接続特有の問題として、標準入力を切っておかないと正しく動かない問題があるので
とする。また、標準出力や標準エラーを指定のファイルに出したい場合は、
と、標準出力は「1>ファイル名」、標準エラーは「2>ファイル名」にする。
標準出力と標準エラーを同じファイルに出したい場合は、
「 1>ファイル名 2>&1 」としたらよい。
以上。
ターミナルを落としても起動させ続けたい場合。
バックグラウンドで動かすには、npm start の後ろに「&」を付ければ良い。
ただしこれだと、ターミナルが落ちた際に、終了の信号が発生して、アプリも死んでします。
そこで、終了の信号を受け付けない「nohup」を組み合わせる。
nohup npm start &
基本はこれでよい。ただし、SSH接続特有の問題として、標準入力を切っておかないと正しく動かない問題があるので
nohup npm start < /dev/null &
とする。また、標準出力や標準エラーを指定のファイルに出したい場合は、
nohup npm start < /dev/null 1>standert.log 2>err.log &
と、標準出力は「1>ファイル名」、標準エラーは「2>ファイル名」にする。
標準出力と標準エラーを同じファイルに出したい場合は、
「 1>ファイル名 2>&1 」としたらよい。
nohup npm start < /dev/null 1/standert.log 2>&1 &
以上。
コメントをかく