在python中执行键盘中断时执行bash脚本

时间:2017-05-05 06:28:45

标签: python bash flask

我想在键盘中断时执行一些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 个答案:

答案 0 :(得分:0)

考虑到这一点,我认为您的应用可能正在捕获KeyboardInterrupt,并通过强制终止进程或类似的东西来阻止封装脚本获得异常。我可以做的最简单的例子是:

import os

if __name__ == '__main__':
    try:
        while True:
            try:
                pass
            except KeyboardInterrupt:
                os.kill(os.getpid(), 9)
    except (KeyboardInterrupt, SystemExit):
        os.system('echo "This will not be executed"')