在Python2.5中执行shell进程
我需要运行在Python2.5中执行shell进程,python,shell,process,command,python-2.5,Python,Shell,Process,Command,Python 2.5,我需要运行tcpdump,在一段时间后杀死它并从stderr读取数据。 以下代码适用于Python 2.7,但我需要使其也适用于Python 2.5: tcpdumpProcess = subprocess.Popen(['sudo', '/usr/sbin/tcpdump', '-w', 'dumpedTraffic.pcap', '-n', 'ip'],
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]
Python2.5抱怨:
tcpdumpProcess.terminate()AttributeError:'Popen'对象
没有属性“终止”
Python 2.5中的等效方法是什么?您可以使用os.kill方法终止进程
os.kill(tcpdumpProcess.pid, signal.SIGTERM)
您可以像执行上一个命令一样执行Kill命令和processid 或 您可以使用操作系统模块中提供的kill方法以及进程id和信号状态,如TERM等。这可能会有帮助: