新しい画面でpython script.py
を実行しているスクリプトがありますが、スクリプトが強制終了されることがあります。
18
21
Restarting processes... done
2
Killed
コンソールを閉じてもスクリプトが強制終了されないようにするにはどうすればよいですか? &またはnohupを使用しますか?
このコードをスクリプトに追加することをお勧めします http://code.activestate.com/recipes/278731-creating-a-daemon-the-python-way/
または画面を使用します。
編集:これはもう少し現代的ですが、私はそれを使用していません(私はカスタムのものを使用しています) http://pypi.python.org/pypi/python-daemon
GNU screen
セッション内で実行されているということですか?この場合、スクリプトに問題がなく、この問題が原因でスクリプトが終了しない限り、強制終了することはできません。
screen
を使用しない場合は、startuseまたはtmux
(私はもっと好きです)を使用してください。
それを行うための現代的な方法は、systemdを使用することです。 screen/tmuxを使用せずにtype=Simple
を使用してサービスユニットを作成し、restart=always
オプションを設定して、予期しない終了時にスクリプトを再起動します。
Screen/tmuxの代わりに、start-stop-daemon
- Debianベースのシステム用のネイティブツールを使用してアプリケーションを悪魔化することもできます。ただし、終了時に再起動するには、monitなどのサードパーティツールを使用して実装する必要があります。