2017-05-05 21 views
1

キーボード割り込み時にbashスクリプトを実行したいが、私のpythonコードがキーボード割り込み時にbashスクリプトを実行せずに終了しているようだ。このことを考えたらPythonでキーボード割り込み時にbashスクリプトを実行する

from flask import Flask 
import os 
#here resides my flask code 

try: 
    if __name__ == '__main__': 
     app.run() 
except (KeyboardInterrupt, SystemExit): 
    os.system('echo "running bash script from python"') 
    os.system('netstat --listen') 
    os.system('sudo service apache2 start') 
    exit() 
+1

これは変です。私はこの問題が全くありません。 Python 2や3ではどちらも使用できません。 – Evey

答えて

0

、私はあなたのアプリはKeyboardInterruptをキャプチャし、これまでに、強制的にプロセスまたは類似した何かを殺すことによって、例外を得ることからカプセル化スクリプトを防止するかもしれないと思います。あなたの問題を再現する料理を作ることができる最小の例は、次のとおりです。

+0

あなたが@Eveyに与えた例では、終了時にbashスクリプトを実行していますが、echoの中にメッセージを表示しているだけですが、サービスの開始メッセージを表示しています –

関連する問題