script.py
SSH経由で接続されたリモートCentOS 7.3システムで呼び出されるスクリプトを実行しようとしています。という環境でスクリプトを実行していますpy
。接続が切断された後でもスクリプトを実行し続けたいです。私が試した他のスタック交換の質問を読むことによって
conda activate py
nohup python script.py &
これはうまくいきますが、ssh を切断するとプロセスの実行が停止します。
私も試しました
screen
conda activate py
python script.py
NameError
しかし、これは私の環境と一緒ですが、そこpy
にはない環境を提供するので、使用するとその環境は使用されないbase
ように見えます。screen
py
結局、tmux
インストールはしなかったし、ワークボックスだからできませんでした。
別のアイデアがありますか?
ベストアンサー1
努力するsetsid
。 WSGI Pythonスクリプトを実行するために使用します。すべて技術担当スタッフ:
望ましい動作を達成するためのもう一つのユーティリティはsetidです。 Nohupはプロセスのプロセスグループが変更されずにそのまま残るという欠点があるため、nohupで実行されるプロセスはプロセスグループ全体に送信されるすべての信号(Ctrl + Cなど)に脆弱です。
一方、setidは実行プロセスに新しいプロセスグループを割り当てるため、生成されたプロセスは完全に新しく割り当てられたプロセスグループに属してセッションがログアウトした後でも終了することを心配することなく安全に実行できます。