私はトルネードを使ってフラスコアプリを走らせています。ちょっとした作業をしてからアプリを実行するシェルスクリプトがあります。スーパバイザで竜巻がきれいに再起動しない
#!/usr/bin/env bash
some_work
more_work
python /usr/share/theapp/theapp.py
私はこの小さなスクリプトを管理するためにスーパーバイザを使用しています。起動時は正常に動作しますが(sudo supervisorctl start theapp.sh
)、再起動したいときは、pythonサブプロセスが終了せず、ハングアップしてポートを占有し、再度起動するのを防ぎます。スクリプトをスーパーバイザが停止したときに実際にPythonコードが停止されるようにトラップを追加しようとしましたが、これはうまくいきませんでした。私はgeventのwsgiサーバーのために竜巻を切り替えようとしましたが、同じ問題がありました。この小さなスクリプトをどうすればいいですか?
スーパーノートはSIGKILLを送信し続けていたので、私はそれを捨てて、信号を正しく処理するUbuntuの新スタートアップに切り替えました。 –