PsSuspend(7.23):无损挂起与恢复指定进程——精准“冻住”故障现场

PsSuspend(7.23):无损挂起与恢复指定进程------精准"冻住"故障现场

PsSuspend(7.23):无损挂起与恢复指定进程------精准"冻住"故障现场

目标:用 PsSuspend 将目标进程"暂停(Suspend)/恢复(Resume)",在不杀进程、不丢上下文的前提下,止血、取证、排障


你将收获

  • PsSuspend 的工作机理与边界
  • 本地/远程挂起与恢复的最小命令清单
  • 与 PsList/ProcDump/ProcMon 的联动取证打法
  • 防"误挂关键进程"的安全护栏与回滚策略
  • 批量脚本模板:定位→挂起→抓转储→恢复→记录

1)PsSuspend 是什么?什么时候用?

PsSuspend 是 Sysinternals PsTools 家族中的"进程冻结 "工具:将指定进程所有线程置为 Suspended ,CPU 占用瞬降为 0,内存页/句柄仍保留,可随时 -r 恢复。

典型场景

  • 应急止血:暂时冻结"失控 CPU/IO"的业务进程,先保证主机可用,再排障。
  • 精准取证 :冻结现场 → 用 ProcDump 抓全量 Dump(或线程栈) → 分析后再恢复。
  • 变更演练:冻结风险子进程,安全验证外部切换/脚本,再恢复。

taskkill 相比,不终止、不丢状态 ;与"降低优先级"相比,更彻底


2)命令语法速记(本地/远程、名称/PID、挂起/恢复)

text 复制代码
pssuspend [\\Computer [-u user [-p passwd]]] <PID | ProcessName> [...]
pssuspend -r [\\Computer [-u user [-p passwd]]] <PID | ProcessName> [...]

常用开关

  • -r:恢复被挂起的进程
  • -accepteula:首次运行静默接受 EULA
  • -nobanner:隐藏工具横幅(脚本更干净)

例子

bat 复制代码
:: 本地:按进程名挂起/恢复
pssuspend notepad
pssuspend -r notepad

:: 本地:按 PID
pssuspend 4321
pssuspend -r 4321

:: 远程:用域凭据
pssuspend \\SRV-APP -u CORP\ops -p ****** w3wp
pssuspend -r \\SRV-APP -u CORP\ops -p ****** w3wp

:: 一次操作多个目标(名或 PID 可并列)
pssuspend chrome 7124 8896
pssuspend -r chrome 7124 8896

远程使用需满足 SMB/RPC/权限等前提,参考 7.2/7.3 篇的"远程通路与排错"。


3)安全护栏:哪些进程绝对不要挂

原则系统关键登录/桌面会话核心进程不可挂,否则系统卡死或黑屏。

高危清单(示例,不完全)

  • csrss.exewininit.exewinlogon.exeservices.exelsass.exe
  • 图形会话关键:dwm.exeexplorer.exe(冻结桌面/外壳,体验极差)
  • 容器/虚拟化/存储内核代理、数据库主进程(会中断业务)

护栏动作

  1. 白名单/黑名单:写死禁止对上述进程名操作。
  2. 提示二次确认:脚本中对"系统目录进程 + 高权限"加确认。
  3. 先试探再执行 :先挂测试/影子实例,观察效果再作用于生产。

4)联动取证:挂起 → 抓 Dump → 恢复(标准三步)

Step 1:识别目标

bat 复制代码
:: 远程看高 CPU
pslist \\SRV-APP -d | sort /+30   & rem 或任务管理器/性能采集

Step 2:冻结并抓取

bat 复制代码
:: 冻结现场(避免线程继续跑偏)
pssuspend \\SRV-APP w3wp

:: 全量转储(含托管/本机代码上下文)
procdump \\SRV-APP -ma w3wp C:\Temp\w3wp_full.dmp

Step 3:恢复与回验

bat 复制代码
pssuspend -r \\SRV-APP w3wp
psservice \\SRV-APP query W3SVC   & rem 服务健康

提示:若要抓线程栈 而非全量内存,procdump -ma 可换成 -mp-ma -e(异常触发),按你的分析目标调整。


5)一条龙脚本:定位→挂起→抓取→恢复(含日志)

bat 复制代码
@echo off
set HOST=SRV-APP
set PROC=w3wp
set DUMP=\\%HOST%\C$\Temp\w3wp_%DATE:~0,10%_%TIME:~0,2%%TIME:~3,2%.dmp

echo [1/5] 校验进程是否存在...
pslist \\%HOST% %PROC% >nul 2>&1 || (echo [ERR] 进程不存在 & exit /b 1)

echo [2/5] 挂起 %PROC% ...
pssuspend \\%HOST% %PROC% || (echo [ERR] 挂起失败,终止流程 & exit /b 1)

echo [3/5] 抓取 Dump -> %DUMP%
procdump \\%HOST% -accepteula -ma %PROC% %DUMP% || echo [WARN] Dump 抓取失败,请人工补抓

echo [4/5] 恢复 %PROC% ...
pssuspend -r \\%HOST% %PROC% || (echo [WARN] 恢复失败,请立即人工介入)

echo [5/5] 回验在线(ADMIN$)
for /l %%i in (1,1,30) do (
  dir \\%HOST%\ADMIN$ >nul 2>&1 && (echo [OK] 在线回验通过 & goto :DONE)
  timeout /t 2 >nul
)
echo [WARN] 回验超时

:DONE
echo [DONE] 取证流程结束,Dump: %DUMP%

6)与 PsList/ProcMon/ProcDump 的组合拳

  • PsList :挂起前后对比 线程/句柄/内存 快照(pslist -t/-m
  • ProcDump :冻结后稳定抓取 全量/线程/异常触发 Dump
  • ProcMon:挂起前快速圈定可疑 IO/注册表操作;现场不允许挂起时,用过滤+背压控量

7)常见问题 → 快修

现象/报错 可能原因 快速修复
Access is denied. 权限不足/UAC 限制/安全软件拦截 用管理员凭据;放行工具目录;必要时调整远程 UAC(工作组慎用)
挂起后无法恢复 目标进程崩溃/已退出 先确认进程在;必要时重启相关服务或拉起新实例
挂起导致业务中断 进程为关键组件 立即 -r 恢复;按"高危清单"建立黑名单,非业务低峰不操作
远程主机无响应 RPC/SMB 被挡/主机离线 放行 445/135/Dynamic RPC;先 \\HOST\ADMIN$ 连通性验证
Dump 抓取失败 空间不足/权限被拦截 预留存储;与 EDR/杀软白名单协同;改本地路径再回传

8)最佳实践清单

  • 先判定角色 :只冻结"业务子进程/工作进程",不要动系统核心
  • 先备份后操作:提前创建 Dump 目录并预留空间。
  • 短时冻结 :冻结时间尽量控制在分钟级,超过阈值要么恢复,要么择机维护。
  • 留痕:记录"谁、何时、对哪个进程、为何冻结、Dump 路径、恢复时间"。
  • 灰度验证:先在测试/非核心环境演练脚本,再上生产。

9)口袋速查(可复制)

bat 复制代码
:: 本地冻结/恢复
pssuspend notepad
pssuspend -r notepad

:: 远程冻结/恢复(域凭据)
pssuspend \\SRV-APP -u CORP\ops -p ****** w3wp
pssuspend -r \\SRV-APP -u CORP\ops -p ****** w3wp

:: 冻结后抓 Dump(推荐)
procdump \\SRV-APP -ma w3wp \\SRV-APP\C$\Temp\w3wp.dmp

小结

PsSuspend 是应急与取证的"手术刀":不杀进程、可回滚、可联动 。记住高危黑名单、控制冻结时长、配合 ProcDump/PsList 做证据闭环,你就能在"稳住系统"的同时,把故障现场完整带走

下一篇(7.24):命令速查------PsTools 全家桶语法与高频脚本片段库(收藏级)。

相关推荐
一袋米扛几楼982 小时前
【软件安全】C语言特性 (C Language Characteristics)
java·c语言·安全
小狗爱吃黄桃罐头3 小时前
正点原子【第四期】Linux之驱动开发学习笔记-10.1 Linux 内核定时器实验
linux·驱动开发·学习
初听于你3 小时前
运维高级故障排除与恢复-SysRq
运维·服务器·安全
卡提西亚3 小时前
一本通网站1122题:计算鞍点
c++·笔记·编程题·一本通
im_AMBER3 小时前
Leetcode 47
数据结构·c++·笔记·学习·算法·leetcode
FreeBuf_4 小时前
现代汽车确认遭遇数据泄露, 攻击者连续窃密9天获取用户驾照信息
安全·web安全·汽车
EkihzniY4 小时前
人证查验一体机:守护医院产房安全
安全
BreezeJuvenile4 小时前
外设模块学习(17)——5V继电器模块(STM32)
stm32·单片机·嵌入式硬件·学习·5v继电器模块
一个数据大开发4 小时前
【零基础一站式指南】Conda 学习环境准备与 Jupyter/PyCharm 完全配置
学习·jupyter·conda