读书人

怎么关闭另外一个python process

发布时间: 2012-02-24 16:30:39 作者: rapoo

如何关闭另外一个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

读书人网 >perl python

热点推荐