process-mon
面向 UOS / Linux 的图形化进程管理器。基于 Qt 5 + CMake,通过解析 /proc 展示进程树、资源占用、加载库、打开文件、网络连接、命名空间与环境变量,并支持结束进程、提权查看与深度条件筛选。
功能特性
进程列表
- 树形 / 列表 两种视图,按 PPID 构建父子关系
- 列:名称、PID、PPID、状态、用户、CPU%、内存、启动时间、运行时长、命令行
- 支持按列排序(升序向上、降序向下)
- 刷新后保持展开节点与选中项
- 记忆窗口位置、列宽、工具栏与视图设置
过滤与搜索
- 按名称 / PID / 命令行搜索
- 按用户、状态过滤(状态附中文说明)
- 刷新间隔可选:1s / 2s / 5s,可暂停自动刷新
进程详情(下半区标签页)
| 标签 | 内容 |
|---|---|
| 概览 | 基本信息、状态详解、命令行 |
| 加载库 (.so) | /proc/[pid]/maps,支持路径过滤与右键打开 |
| 打开文件 | /proc/[pid]/fd,支持过滤与右键打开 |
| 命名空间 | /proc/[pid]/ns,类型 + Inode,列宽可拖动 |
| 环境变量 | /proc/[pid]/environ,支持过滤与复制 |
| 网络 | 监听中 / 已连接,中间可上下拖动分割 |
深度扫描(暂停后可用)
暂停自动刷新后显示第二行工具栏,可先填写条件再点「开始扫描」:
- 加载库路径片段
- 打开文件路径片段
- IP 地址
- 端口
- 命名空间 Inode
多条件为 AND 交集;扫描完成后改关键字即时重过滤(走缓存)。扫描期间锁定其它主操作,防止嵌套。
进程操作
- 右键:复制 PID / 命令行 / 可执行路径、在文件管理器中打开、SIGTERM / SIGKILL
- 杀死成功后自动选中下一项;暂停时也会立刻从列表移除
- 提权:通过
pkexec以 root 重启,便于查看其它用户进程的完整信息
导出
- 导出全部进程(当前列表过滤结果)为 JSON
- 导出当前进程(含库、文件、命名空间、环境变量、网络)为 JSON
运行环境
| 项目 | 要求 |
|---|---|
| 系统 | UOS Desktop / 通用 Linux(依赖 /proc) |
| Qt | 5.11+(Core / Gui / Widgets) |
| CMake | 3.16+ |
| 编译器 | 支持 C++14 的 g++ / clang++ |
| 提权(可选) | pkexec;图形环境建议可用 xhost |
Debian / UOS 依赖示例
sudo apt install build-essential cmake qtbase5-dev
使用说明
- 启动后默认每 2 秒刷新进程列表。
- 选中进程可在下方查看详情;库 / 文件 / 环境变量页支持过滤输入框。
- 需要查看其它用户完整信息时,点击工具栏 提权,授权后以 root 重新启动。
- 需要按库、文件、IP、端口或 NS Inode 反查进程时:
- 点击 暂停
- 在深度栏填写条件
- 点击 开始扫描
- 列表仅显示命中进程;改条件即时生效
- 通过工具栏 导出 可保存全部或当前进程为 JSON。



