尝试编写一个代码,该代码在代码中的任何位置按 CTRL + C 时出现问题,因为大多数在线帮助都是指信号和其他内容 这可能与要求的内容无关。可以跳过此部分并提供解决方案
import signal
import time
def sigint_handler(signum, frame):
print 'Stop pressing the CTRL+C!'
signal.signal(signal.SIGINT, sigint_handler)
目标:
按 ctrl + c 应该退出程序
答案 0 :(得分:4)
您可以在KeyboardInterrupt
上尝试/除外:
try:
while True:
print 1
except KeyboardInterrupt:
print "test"
或者,如果进程本身被终止,您将获得KILL命令发送的SIGTERM
:
如您所示,您可以定义处理程序:signal.signal(signal.SIGTERM, my_signal_term_handler)
以下是要考虑的所有UNIX信号的列表:http://en.wikipedia.org/wiki/Unix_signal#POSIX_signals。请注意,无法捕获SIGKILL。