過去にrails s
SSH経由で(使用して)アクセスしたBashでRuby on Railsサーバーを実行していましたが、インターネット接続が失われた場合、
- Ruby on Railsサーバーが停止します
- Ruby on Railsサーバーは実際に実行され続けている(VPN接続が切断されたため)、関連する
ps ux
すべてのプロセスを1つずつシャットダウンする必要があります。少し混乱しています。
(1)または(2)が発生していますか?明確に定義された動作はありますか?たとえば、VPNではなく、ssh接続が切断されると(1)になりますが、VPNであれば(1)、(2)ですか?
tmux
PS:Railsサーバーを実行する必要がある場合は、それを使用するように切り替えてtmux a -t foo
再接続し、必要に応じてCTRL-Cを押すことができます。
答え1
はい、シェルに関連するプロセスはhup信号を受け取ります。このようにプログラムすることで無視できます。人を見るためにnohup
。
たとえば、nohup command
コマンドを実行すると hup は発生しません。そしてstdin、stdout、stderrリダイレクトがあります。
以下も参照してくださいdisown
。&
完全に切断nohup > /dev/null command & disown