繁体   English   中英

从 mac 终端杀死一个由 popen 创建的正在运行的子进程

[英]Kill a running subprocess created by popen from mac terminal

我有一个 python 脚本myscript.py

subprocess.Popen(my_command, shell=True)

我从终端运行python3 myscript.py ,现在我无法使用ctrl + c停止运行my_command my_command将继续运行。 无论如何我可以阻止它吗?

谢谢!

可以使用psutil

import subprocess

import psutil


def destroyed(proc_pid):
    process = psutil.Process(proc_pid)
    for proc in process.children(recursive=True):
        proc.kill()
    process.kill()


proc = subprocess.Popen(["sleep", " 1000"], shell=True)
try:
    proc.wait(timeout=5)
except subprocess.TimeoutExpired:
    destroyed(proc.pid)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM