Python异步读取子进程输出,python异步进程,python的subpr
Python异步读取子进程输出,python异步进程,python的subpr
python的subprocess可以获得子进程的stdout,但是是阻塞的,要想实时获得子进程的输出还需要额外做一些处理,请看下面的实例代码:
#!/usr/bin/python2import timeimport sys, osimport subprocessimport fcntlimport selectproc = subprocess.Popen(['tail','-f','/byrx.net/webserver/logs/access.log'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)def nonblocking(fd): fl = fcntl.fcntl(fd, fcntl.F_GETFL) fcntl.fcntl(fd, fcntl.F_SETFL, fl | os.O_NONBLOCK)nonblocking(proc.stdout)if __name__ == '__main__': try: while proc.poll() == None: readx = select.select([proc.stdout.fileno()], [], [])[0] if readx: chunk = proc.stdout.read() sys.stdout.write(chunk) time.sleep(.1) except Exception,ex: print ex pass
相关内容
- 如何获得python实例的class名称,python实例class,有几种方
- python print会打印出一行文本,如何不打印换行符,pyt
- python subprocess.Popen获得子进程 的返回值,,python的subpr
- Python Menu Button Demo,pythonbutton,from Tkinter
- 基于python和树莓派的微博机器人(进阶篇:能够发图片
- Basic threaded Python TCP server,threadedpython,TCP provides
- python的按钮单击双击事件处理,python按钮,from Tkinter
- python的魔法__slots__,python魔法__slots_,看python社区大妈组
- python列出文件夹下的所有文件或者目录,,python的os模块
- python使用 glob 获得文件列表,pythonglob,import osos.
评论关闭