import threading, signal

is_exit = False

def write_login(self):
global is_exit write_log('login rsync start!!!') count = 0
data_list = []
data_line = ''
while not is_exit:
# if debug, then log_array = self._redis.lrange(self._list_name, 0, 0), data_line = log_json
try:
log_array = self._redis.lrange(self._list_name, 0, 9999)
except Exception,e:
write_log("[write_login][redis err]" + str(e) + data_line)
data_list = []
is_exit = True
return

  

https://www.douban.com/note/286438085/

python多线程中要响应Ctrl+C的信号以杀死整个进程,需要:
1.把所有子线程设为Daemon;
2.使用isAlive()函数判断所有子线程是否完成,而不是在主线程中用join()函数等待完成;
3.写一个响应Ctrl+C信号的函数,修改全局变量,使得各子线程能够检测到,并正常退出。
4.isAlive的循环判断要写在main里,否则无法接受中断信号

最新文章

  1. 图说hibernate注释--java里配置参数(一.1)
  2. 10款Windows命令行工具
  3. [dts]Device Tree格式解析
  4. POJ 1201 Intervals (差分约束系统)
  5. Android的Handler几种常见的传值方式
  6. [转载]12款免费与开源的NoSQL数据库介绍
  7. (jQuery 插件)封装容器的表单为json对象
  8. html5介绍
  9. zoj 3490
  10. Nginx运行Laravel的配置
  11. Elasticserach学习笔记-01基础概念
  12. 自兴人工智能------------python入门基础(2)列表和元祖
  13. Android解析中国天气接口JSon数据,应用于天气查询!
  14. mesbox公告加更新控制
  15. python nose测试框架全面介绍十二 ----用例执行顺序打乱
  16. Data - References
  17. 关于sortedlist 中值的添加,删除,索引测试.
  18. Python2.7-bisect
  19. sysbench压力测试工具安装和参数介绍
  20. RavenDb学习(九)高级特性下半部分

热门文章

  1. Sublime Text 介绍、用法、插件等
  2. 原生JavaScript实现的addclass,removeclass,hasclass,toggleclass,getbyclass
  3. .Net下实现可扩展的编程方法简述
  4. POJ 2411 Mondriaan'sDream(状压DP)
  5. Laravel 部署安装到虚拟主机的方法(折腾了一周,终于成功部署,原来是虚拟机不加载.env,谢谢莫回首http://lxl520.com/index.php/archives/88/!)
  6. MySQL处理数据库和表的常用命令
  7. lassen项目启动
  8. 光流算法:灰度恒常约束,LK算法,HS算法
  9. Js 时间与字符串转示例
  10. HDU 3068 [最长回文子串]