【问题标题】:execute shell process in Python 2.5在 Python 2.5 中执行 shell 进程
【发布时间】:2013-10-14 09:15:49
【问题描述】:

我需要运行tcpdump,稍后将其杀死并从标准错误中读取。 以下代码在 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 中等效的方法是什么?

【问题讨论】:

标签: python shell process command python-2.5


【解决方案1】:

您可以使用 os.kill 方法终止进程。

os.kill(tcpdumpProcess.pid, signal.SIGTERM)

【讨论】:

    【解决方案2】:

    您可以像执行上一个命令一样执行带有 processid 的 Kill 命令。

    你可以使用os模块中提供的kill方法以及进程id和TERM等信号状态。

    【讨论】:

      猜你喜欢
      • 2010-11-27
      • 1970-01-01
      • 2016-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多