python每隔1s执行相同任务非阻塞模式
首先我们先用crontab每隔1分钟执行,看下效果,然后在执行这个,
配置crontab
[root@localhost ~]# crontab -l
*/1 * * * * ping www.baidu.com >/dev/nul
注意我故意写成了这样的命令一直ping,目的是当进入到下一分钟的时候,系统会自动的开启另一个进程去执行,为了看出效果
我们通过查看crontab日志,可以看出执行了两次
因为这个命令会一直ping,所以用ps -ef 看的时候会出现两个
接下来我们测试自己写的脚本每隔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即可
从上图可以看出每隔1s执行,一共执行了3次,
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。