python 进程 Ctrl+C退出
来源:互联网 发布:剑侠情缘网络单机版 编辑:程序博客网 时间:2024/06/07 09:51
今天写的一段代码需要用到进程multiprocessing,这个哥们比较任性,用Ctrl+C无法退出,当程序跑完之后又给我报了一段错误 我也是醉了。
然后我百度了一下发现了线程的另一个函数multiprocessing.join(),这函数厉害了!不管是不是尸体,只要父进程死了,都直接回收。我就把他给加上了,又试了一下
错误信息竟然少了,然而剩下的这个错误信息怎么也不消失,即使用try也没用。看着join我突然想到C语言中也有这个函数,那是不是也可以用c中的signal呢,于是我加上了这 signal.signal(signal.SIGINT, CtrlC)
这一段代码 果然天从人愿 问题完美解决了!
完整代码如下:
def CtrlC(): #如果用sys.exit()在上层有try的情况下达不到直接结束程序的效果(自行百度) os._exit(0) try: signal.signal(signal.SIGINT, CtrlC) signal.signal(signal.SIGTERM, CtrlC) del = multiprocessing.Process(target=Del, args=()) test = multiprocessing.Process(target=Re,args=(con,)) del.start() test.start() del.join() test.join() except Exception,ex: print ex
其中del进程是启动一个后台进程,不过这个进程无法自动切换bash。
test进程是一个普通的print进程
这样这个程序就可以完美执行了
阅读全文
0 0
- python 进程 Ctrl+C退出
- 【Python笔记】Python多线程进程如何正确响应Ctrl-C以实现优雅退出
- python多线程ctrl-c退出问题
- python ctrl+c 退出while True:
- python ctrl +d 退出
- 控制台程序Ctrl +C 退出
- 该如何实现以下功能?第一次按ctrl+c 显示hello,第二次按ctrl+c 退出进程
- Linux后台进程管理以及ctrl+z(挂起)、ctrl+c(中断)、ctrl+\(退出)和ctrl+d(EOF)的区别
- Linux后台进程管理以及ctrl+z(挂起)、ctrl+c(中断)、ctrl+\(退出)和ctrl+d(EOF)的区别
- Linux后台进程管理以及ctrl+z(挂起)、ctrl+c(中断)、ctrl+\(退出)和ctrl+d(EOF)的区别
- 对shell脚本Ctrl+C导致被脚本启动的进程全部中断退出
- python subprocess ctrl + c
- 修改kernel支持ctrl+c 退出log
- Go程序如何安全退出(CTRL+C)
- golang捕获ctrl+c退出程序
- ctrl+c不能终止进程
- python使用Ctrl+C中断threading多线程死循环及setDaemon守护进程
- busybox ctrl+c不能终止进程(引用)
- Echarts柱状折线图
- VideoView 播放sd卡目录下视频的路径问题
- Spring 基于注解的IOC配置
- 深度学习(六十八)darknet使用
- JavaSE阶段1_类
- python 进程 Ctrl+C退出
- <li></li>标签的属性/样式
- 局域网映射的几种方式
- 2017年一级消防工程师高薪就业
- 1030. Travel Plan (30)
- JavaSE阶段1_抽象类和接口
- redis 缓存失效原理
- poj2251 Dungeon Master(B)
- 51单片机自动循迹小车