如何优雅地退出python程序
2016-06-22 13:51
751 查看
如何优雅地退出python程序
一个单模的python程序,启动之后要能够优雅地关闭。即当用户按Ctrl+C或者kill pid的时候,程序都能从容关闭。实现起来非常简单。is_running = True def onSigChld(signo, frame): global is_running pid, status = os.waitpid(-1, os.WNOHANG) if pid: is_running = False pass def onSigInt(signo, frame): global is_running is_running = False pass def onSigTerm(signo, frame): global is_running is_running = False pass def test(): global is_running while is_running: time.sleep(1) print "." print "App exit gracefully." sys.exit(0) pass if __name__ == "__main__": # 子进程退出后向父进程发送的信号 signal.signal(signal.SIGCHLD, onSigChld) # 主进程退出信号 signal.signal(signal.SIGINT, onSigInt) signal.signal(signal.SIGTERM, onSigTerm) test()
相关文章推荐
- 加密与压缩,霍夫曼编码解码
- 二,机器学习算法之逻辑回归(python实现)
- Python之re模块 - 正则表达式操作
- python pickle导入numpy变量出错: "ImportError: No module named multiarray"
- Python基础—面向对象(初级篇)
- mac下安装python的opencv
- Python爬虫实践(九):第一个爬虫实例(简书首页)
- Python基础-简单输出
- 文件的操作
- 深入浅析python中的多进程、多线程、协程
- (Python问题二) Django Python 出现 No module named ‘MySQLdb
- Python使用paramiko进行远程交互
- mac 查看python安装路径
- 那些容易被忽略的Python编程方式
- python3 抓取网页资源的 N 种方法
- python使用mechanize与网页交互
- Python3图形界面编程
- python 网页内容抓取
- Python:线程、进程和协程
- Quzh[python]判断是否为回文——判断用户输入的字符串是否为回文。