![](/img/trans.png)
[英]Create an executable process without using shell on Python 2.5 and below
[英]execute shell process in Python 2.5
我需要运行tcpdump
,稍后将其tcpdump
并从stderr读取。 以下代码适用于Python 2.7 ,但我需要使它在Python 2.5中工作::
tcpdumpProcess = subprocess.Popen(['sudo', '/usr/sbin/tcpdump',
'-w', 'dumpedTraffic.pcap',
'-n', 'ip'],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
tcpdumpProcess.terminate()
tcpdumpProcess.wait()
tcpdump_stderr = tcpdumpProcess.communicate()[1]
Python 2.5抱怨说:
tcpdumpProcess.terminate()AttributeError:'Popen'对象没有属性' terminate '
什么是在Python 2.5中这样做的等效方式?
您可以使用os.kill方法终止进程。
os.kill(tcpdumpProcess.pid, signal.SIGTERM)
您可以像执行上一个命令一样执行Kill命令和processid。
要么
你可以使用os模块中提供的kill方法以及进程id和信号状态,如TERM等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.