我想在键盘中断时执行一些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()
答案 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"')