在Python脚本中测试CTRL-Z

时间:2018-03-05 16:11:14

标签: python

我正在使用while无限循环,我希望能够测试CTRL-Z是否在循环内按下,因为我想在退出主程序之前执行更多代码。一个简短的例子可以帮助我。

1 个答案:

答案 0 :(得分:0)

这是一个解决方案:

import signal
import time
import os

def handler(signum, frame):
    print('Ctrl+Z pressed, but ignored')
    os.system('kill -STOP %d' % os.getpid())

signal.signal(signal.SIGTSTP, handler)

while True:
    time.sleep(100)
    pass 

您可以将TSTP发送到进程,但是您需要首先禁用或阻止信号处理程序,因此不会再次调用它。