An open API service indexing awesome lists of open source software.

https://github.com/zfdang/process-viewer-for-macos

A native macOS application for viewing and monitoring system processes with a hierarchical tree display.
https://github.com/zfdang/process-viewer-for-macos

activity app application hierachy macos monitor process processes tree viewer

Last synced: 3 months ago
JSON representation

A native macOS application for viewing and monitoring system processes with a hierarchical tree display.

Awesome Lists containing this project

README

          

# Process Viewer

[English](README_eng.md)

一款原生 macOS 应用,用于查看和监控系统进程,支持层级树状显示。

![macOS](https://img.shields.io/badge/macOS-13.0+-blue)
![Swift](https://img.shields.io/badge/Swift-5.0-orange)
![License](https://img.shields.io/badge/License-MIT-green)
[![Build and Release](https://github.com/zfdang/process-viewer-for-macos/actions/workflows/build-release.yml/badge.svg)](https://github.com/zfdang/process-viewer-for-macos/actions/workflows/build-release.yml)

## 截图

![主界面](docs/interface-zh.png)

![搜索功能](docs/interface-search-zh.png)

![右键菜单](docs/interface-menu-zh.png)

![网络连接](docs/interface-conns-zh.png)

![关于窗口](docs/interface-about.jpeg)

## 功能特性

- **层级进程树**:以父子树状结构查看进程关系
- **平铺视图模式**:在层级视图和平铺列表之间切换
- **网络连接**:查看任何进程的活动网络连接,包括本地/远程地址和端口
- **多语言支持**:支持中英文,自动检测系统语言,可手动切换
- **可调整列宽**:拖动列边框调整宽度
- **可排序列**:点击列标题进行排序
- **进程过滤**:按应用 / 我的进程 / 系统进程 / 全部进行过滤
- **搜索**:按名称、命令或 PID 实时搜索
- **自动刷新**:每 5 秒自动刷新,保持状态
- **应用图标**:显示 .app 进程的应用图标
- **可调整行高**:可选择小、中、大三种行高
- **全部展开/折叠**:快速展开或折叠整个树
- **复制信息**:右键复制详细进程信息
- **状态保持**:刷新时保持滚动位置、选中状态和展开状态

## 显示的进程信息

| 列名 | 描述 |
|------|------|
| 进程 ID | 进程标识符 |
| 名称 | 进程名称及应用图标 |
| CPU % | CPU 使用率(颜色标记) |
| 连接数 | 活动网络连接数量 |
| 用户 | 所属用户名 |
| 优先级 | 优先级和 nice 值 |
| 常驻内存 | 常驻内存使用量 |
| 虚拟内存 | 虚拟内存使用量 |
| 线程 | 线程数量 |
| 命令 | 完整可执行文件路径 |

## 系统要求

- macOS 13.0 或更高版本
- Xcode 15.0 或更高版本(从源码构建时需要)

## 安装

### 下载发布版

1. 前往 [Releases](https://github.com/zfdang/process-viewer-for-macos/releases) 页面
2. 下载最新的 DMG 或 ZIP 文件
3. 打开 DMG 并将 "Process Viewer" 拖到应用程序文件夹,或解压 ZIP 文件
4. 首次运行时,右键点击应用选择"打开"(以绕过 Gatekeeper)

### 从源码构建

1. 克隆仓库:
```bash
git clone https://github.com/zfdang/process-viewer-for-macos.git
```

2. 使用 Xcode 打开:
```bash
cd process-viewer-for-macos
open ProcessViewer.xcodeproj
```

3. 构建并运行(⌘R)

## 快捷键

| 快捷键 | 功能 |
|--------|------|
| ⌘R | 刷新进程列表 |

## 权限说明

此应用需要**禁用 App Sandbox** 才能读取所有系统进程信息。否则只能看到有限的进程子集。

## macOS 安全提示

本项目是**免费开源软件**,未加入 Apple Developer Program(99美元/年)。因此,macOS 会显示警告:**"无法验证开发者"** 或 **"无法确认此 App 不包含恶意软件"**。

这是 macOS 的标准安全机制(Gatekeeper),**不代表**软件存在任何风险。

### 如何打开应用

**方法一:右键打开(推荐)**
1. 右键点击(或按住 Control 键点击)应用
2. 从菜单中选择"打开"
3. 在弹出的对话框中点击"打开"
4. 此操作只需执行一次

**方法二:系统设置**
1. 尝试正常打开应用(会被阻止)
2. 前往 **系统设置** → **隐私与安全性**
3. 向下滚动找到被阻止的应用提示
4. 点击"仍要打开"

**方法三:终端命令**
如果上述方法无效,可以使用终端命令移除隔离属性:
```bash
xattr -rd com.apple.quarantine /Applications/Process\ Viewer.app
```

> [!NOTE]
> 您可以在 [GitHub](https://github.com/zfdang/process-viewer-for-macos) 上查看本应用的完整源代码。所有发布版本均通过 GitHub Actions 从源代码自动构建。

## 技术栈

- **SwiftUI**:应用架构和工具栏
- **AppKit (NSOutlineView)**:支持调整列宽和排序的进程树
- **sysctl / libproc**:获取进程信息的系统 API

## 许可证

MIT 许可证 - 详见 [LICENSE](LICENSE)。

## 作者

- **zfdang** - [GitHub](https://github.com/zfdang)

## 链接

- [网站](https://proc.zfdang.com)
- [GitHub 仓库](https://github.com/zfdang/process-viewer-for-macos)
- [问题反馈](https://github.com/zfdang/process-viewer-for-macos/issues)