温馨提示×

如何结束进程子进程

小樊
87
2026-10-03 14:03:45
栏目: 编程语言

“结束进程及其子进程”的方法取决于你使用的操作系统和具体场景(命令行 / 编程 / 图形界面)。下面按常见情况给你总结。


一、Linux / macOS(命令行)

1. 使用 pkill(按进程名)

pkill -TERM -f process_name

会结束匹配的所有进程及其子进程(同一进程组)。

2. 使用进程组(推荐)

如果进程是自己启动的:

kill -- -PGID

或

kill -TERM -<PGID>

可一次性结束整个进程组。

3. 使用 ps + kill

pkill -P <父进程PID>

结束指定父进程的所有子进程。

4. 使用 killall

killall process_name

二、Windows(命令行)

1. 使用 taskkill

taskkill /PID 1234 /T /F
  • /T:结束子进程
  • /F:强制结束

2. 按进程名

taskkill /IM notepad.exe /T /F

三、编程方式

Python

import subprocess, os, signal

p = subprocess.Popen(["sleep", "100"])
os.killpg(os.getpgid(p.pid), signal.SIGTERM)

C / C++

  • Linux:killpg()
  • Windows:TerminateProcess + 枚举子进程

四、图形界面

  • Windows:任务管理器 → 右键进程 → “结束进程树”
  • Linux:htop → 选中进程 → F9 → 发送 SIGTERM

如果你能告诉我:

  • 操作系统
  • 是否命令行 / 脚本 / 程序
  • 是否要“优雅退出”还是“强制杀掉”

我可以给你更精确的做法。

0 踩