私はOpenFOAM計算流体力学ライブラリを使用して数値シミュレーションを実行するリモートサーバーで作業しています。パラメータの研究を自動化するために一連のPythonスクリプトを構築しましたが、うまくいくようです。
SSHを使用してサーバーに接続し、対話型シェルでスクリプトを実行します。時々まだ認識されていない状況では、サーバーがSSHセッションを閉じる可能性があります。現在、回避策としてウィンドウマネージャを使用していますが、screen
それでも問題になります。以下は私が得た出力の例です。
<lots of output before that>
Dumping up_half1 faces to "final_up_half1.obj"
Dumping cyclic match as lines between face centres to "final_up_half0up_half1_match.obj"
Writing repatched mesh to 0
End
Killing PID 32536
Connection to hpc4 closed by remote host.
Connection to hpc4 closed.
➜ ~
シミュレーションはまだ完了していません。画面上のアプリケーションの印刷が終了したら、End
他のアプリケーションを起動していくつかの処理を実行する必要があります。
だから質問はこんな感じです。このような切断の原因は何ですか?
ベストアンサー1
を使用すると、サーバーの切断の問題を回避できますnohup
。 nohup
サーバーでコマンドを実行すると、サーバーが切断されても引き続き実行されます。コマンドの標準出力をnohup.outというファイルに保存しますが、必要に応じてリダイレクトできます。例えば、
nohup ./simulation > output.txt &
実行され./simulation
、通常は画面に印刷される出力をoutput.txtに入れます。 SSH接続が失われても、./simulation
完了するまで実行され続けます。