小编And*_*nko的帖子

python subprocess.Popen 使用子进程杀死进程

如何发送 Ctrl-C 来处理或终止带有子进程的进程?

我的代码示例(python 2.7):

# --*-- coding: utf-8 --*--
import subprocess
import os
import signal

proc = subprocess.Popen(['ping localhost'],shell=True,stdout=subprocess.PIPE)
print proc.pid

a = raw_input()
os.killpg(proc.pid, signal.SIGTERM)
Run Code Online (Sandbox Code Playgroud)

当我运行程序时,我会看到下一个进程:

user   16078  0.0  0.0   4476   916 pts/6    S+   14:41   0:00 /bin/sh -c ping localhost
user   16079  0.0  0.0   8628  1908 pts/6    S+   14:41   0:00 ping localhost
Run Code Online (Sandbox Code Playgroud)

程序输出:

16078
Run Code Online (Sandbox Code Playgroud)

在 raw_input 之后:

Traceback (most recent call last):
  File "subproc2.py", line 10, in <module>
    os.killpg(proc.pid, signal.SIGTERM)
OSError: [Errno 3] No such process
Run Code Online (Sandbox Code Playgroud)

我想杀死进程 pid …

python subprocess kill-process

4
推荐指数
1
解决办法
6177
查看次数

标签 统计

kill-process ×1

python ×1

subprocess ×1