在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等。

这可能会有帮助: