首页 > 编程语言 > 详细

python每隔1s执行相同任务非阻塞模式

时间:2014-11-19 02:14:52      阅读:232      评论:0      收藏:0      [点我收藏+]

首先我们先用crontab每隔1分钟执行,看下效果,然后在执行这个,

配置crontab

[root@localhost ~]# crontab  -l

*/1 * * * * ping www.baidu.com >/dev/nul

注意我故意写成了这样的命令一直ping,目的是当进入到下一分钟的时候,系统会自动的开启另一个进程去执行,为了看出效果

我们通过查看crontab日志,可以看出执行了两次

bubuko.com,布布扣

因为这个命令会一直ping,所以用ps -ef 看的时候会出现两个

bubuko.com,布布扣

接下来我们测试自己写的脚本每隔1s执行一次,看跟crontab的效果是否一样

脚本内容如下

import threading

import time,os


def run():

os.system(‘ping www.baidu.com >/dev/nul‘)


i=0

while i<3:

        i+=1

print "start",time.strftime("%Y-%m-%d_%H-%M-%S")

t = threading.Thread(target=run,args=())

t.start()

time.sleep(1)

print "end",time.strftime("%Y-%m-%d_%H-%M-%S")

由于做测试我这里限制到3次,方便看效果,如果要一直执行改成while True即可

bubuko.com,布布扣

从上图可以看出每隔1s执行,一共执行了3次,

bubuko.com,布布扣可以看出开启了3个进程去ping,跟crontab的效果是一样,不用等到上一次命令执行完成才看是执行,而是只要到了指定的点,就去开启新的进程

本文出自 “服务器” 博客,请务必保留此出处http://zhangfang2012.blog.51cto.com/6380212/1579172

python每隔1s执行相同任务非阻塞模式

原文:http://zhangfang2012.blog.51cto.com/6380212/1579172

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!