目前,每当我在给出的冗长脚本上按CTRL + Z
时,它就会立即终止脚本([1+]
已停止(SIGTSTP
)./test.py
) ,但也会使python2
进程运行(当我键入ps来查看进程时),这迫使我使用killall -9 python2
,我不想每次都这样做。有没有办法立即终止不会让python2进程在后台运行的脚本?
我看到的代码中目前没有SIGTSTP
,但是我确实尝试使用下面的代码没有运气。当我按下CTRL + Z
时,它甚至没有退出脚本。
def handler(signum, frame):
sys.exit("CTRL+Z pressed. Exiting Test")
signal.signal(signal.SIGTSTP, handler)
答案 0 :(得分:1)
SIGSTP是暂停进程的信号,听起来像您要终止进程。您可以尝试发送Ctrl-C或CTRL-D代替,它们应该发送SIGINT信号。
我相信您也可以尝试使用CTRL- \发送SIGQUIT。
答案 1 :(得分:0)
使用Ctrl + C
。 SIGTSTP
暂停了该进程,因此为什么要使其保持打开状态但不终止它。
(注意:在Linux终端上,请使用Ctrl + \
,否则请使用Ctrl + C
或Ctrl + D
)
或者只使用sys.exit()