Skip to content

Commit 33b503c

Browse files
committed
update
1 parent 6e69e82 commit 33b503c

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

2026-04-19-python-process-injection.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ tags: [python, 安全, cpython]
77

88
线上 Python 服务卡住、CPU 飙高,或者某个数据任务跑了几个小时以后开始变慢时,重启往往是最后手段。进程里的现场还在:线程停在哪一层调用栈,哪些对象还活着,哪个函数正在反复分配内存。进程一停,这些信息也就没了。
99

10-
这时自然会想:能不能趁这个 PID 还活着,把一小段诊断逻辑送进去,让它在原来的 Python 解释器里执行?这就是**进程注入**,也常叫 process inject。它不是为了给业务代码增加新功能,而是让外部工具临时进入目标进程,读取运行时状态、安装 hook,或者启动一个诊断 agent。
10+
能不能趁这个 PID 还活着,把一小段诊断逻辑送进去,让它在原来的 Python 解释器里执行?这就是**进程注入**,也常叫 process inject。它不是为了给业务代码增加新功能,而是让外部工具临时进入目标进程,读取运行时状态、安装 hook,或者启动一个诊断 agent。
1111

1212
[pyrasite](https://github.com/lmacken/pyrasite)[memray](https://github.com/bloomberg/memray)[peeka](https://github.com/wwulfric/peeka) 都依赖这类能力,只是进入目标进程的方式越来越谨慎。接下来按三代方案展开:GDB 直接调用 C API、`dlopen + pthread`、以及 Python 3.14 之后的 PEP 768。
1313

0 commit comments

Comments
 (0)