首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

怎么关闭另外一个python process

2012-02-24 
如何关闭另外一个python process我有一个脚本是这样的,起一个进程在后台抓log, log会一直的刷,没有尽头。然

如何关闭另外一个python process
我有一个脚本是这样的,起一个进程在后台抓log, log会一直的刷,没有尽头。然后在特定的时间关闭它,或者说,我想什么时候不抓了就停了它。 停的方式呢,就是运行另一个脚本,这个怎么实现呢?抓log的代码如下:

 

Python code
    file=open("logs.txt","w")    log=subprocess.Popen(["catch.exe","-t"],shell=False,stdout=subprocess.PIPE)    while log.poll() == None:        line=log.stdout.readline()        file.write(line)    else:        file.close()

谢谢大家了~~~~~

[解决办法]
如果这样呢?

Python code
import osfile=open("logs.txt","w") log=subprocess.Popen(["catch.exe","-t"],shell=False,stdout=subprocess.PIPE) stop = Falsewhile (log.poll() == None) and (not stop):     line=log.stdout.readline()     file.write(line)     stop = os.path.exists("stop.txt")else:     file.close()
[解决办法]
阻塞式的是这样的,有非阻塞的subprocess,看看:

http://www.python.org/dev/peps/pep-3145/

http://code.google.com/p/subprocdev/source/browse/subprocess.py?r=2c925e935cad0166d5da85e37c742d8e7f609de5&spec=svn2c925e935cad0166d5da85e37c742d8e7f609de5

热点排行