要将管道与
subprocess模块一起使用,必须通过
shell=True。
但是,出于各种原因,这并不是真正可取的选择,其中最重要的是安全性。相反,请分别创建
ps和
grep流程,然后将输出从一个管道输送到另一个管道,如下所示:
ps = subprocess.Popen(('ps', '-A'), stdout=subprocess.PIPE)output = subprocess.check_output(('grep', 'process_name'), stdin=ps.stdout)ps.wait()
但是,在您的特定情况下,简单的解决方案是先调用
subprocess.check_output(('ps','-A'))然后
str.find在输出上。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)