[英]Signal handler is not able to change variable
我正在尝试为我的 Python 应用程序创建一个简单的信号处理程序,但即使我使用Ctrl-C
exiting
的值也不会改变。 如果我把exiting
放在main
function 之外,值会发生变化。 当它在main()
内时,如何更改exiting
的值? 目前,无论我是否按Ctrl-C
,程序总是打印False
。
import signal
import time
def main():
exiting = False
def handler(f, b):
global exiting
exiting = True
return
signal.signal(signal.SIGINT, handler)
while True:
print(exiting)
time.sleep(1)
if __name__ == "__main__":
main()
global
也应该包含在main
的 function 中。
import signal
import time
def main():
global exiting
exiting = False
def handler(f, b):
global exiting
exiting = True
return
signal.signal(signal.SIGINT, handler)
while True:
print(exiting)
time.sleep(1)
if __name__ == "__main__":
main()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.