python中常用的signal 信号
• SIGINT 终止进程 中断进程 (ctrl+c)
• SIGTERM 终止进程 优雅杀死,留有时间(kill -15 pid)
• SIGKILL 终止进程 杀死进程 (kill -9 pid)
• ctrl+c 终止当前会话(运行的脚本,命令)
• kill -9 pid 强制终止进程
• kill -15 pid 给进程留有时间,先关闭有关的程序,再将程序关闭(优雅的杀死进程)
查看python 进程
ps -ef |grep python
python3中提供的信号
import signal dir(signal)
Linux中提供的信号
// A code block kill -l
根据python的信号进行捕获操作
import signal,time import sys def term_sig_handler(signum, frame): print ('catched singal: %d' % signum) sys.exit() if __name__ == '__main__': signal.signal(signal.SIGTERM, term_sig_handler) #kill pid signal.signal(signal.SIGINT, term_sig_handler) #ctrl -c # signal.signal(signal.SIGKILL, term_sig_handler) #kill -9 pid 此功能无效 while True: print ('good') time.sleep(5)
ctrl+c(kill -2 pid)
kill -15 pid
kill -4 pid