使用CTRL + Z终止python2脚本和服务

时间:2019-07-31 23:09:18

标签: python python-2.7 process

目前,每当我在给出的冗长脚本上按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)

2 个答案:

答案 0 :(得分:1)

SIGSTP是暂停进程的信号,听起来像您要终止进程。您可以尝试发送Ctrl-C或CTRL-D代替,它们应该发送SIGINT信号。

我相信您也可以尝试使用CTRL- \发送SIGQUIT。

答案 1 :(得分:0)

使用Ctrl + CSIGTSTP暂停了该进程,因此为什么要使其保持打开状态但不终止它。 (注意:在Linux终端上,请使用Ctrl + \,否则请使用Ctrl + CCtrl + D

或者只使用sys.exit()