在 Debian(以及其他 Linux 发行版)中,导出进程信息通常有几种常见方式,取决于你想“导出什么格式、用来做什么”。下面按常见需求给你总结:
ps 导出进程信息(最常用)ps -ef > processes.txt
或
ps aux > processes.txt
ps -ef:System V 风格ps aux:BSD 风格(更详细)ps -eo pid,ppid,user,%cpu,%mem,comm > processes.csv
适合后续用 Excel / Python 分析。
top / htop 导出(实时快照)top 批处理模式top -b -n 1 > top_snapshot.txt
-b:批处理模式-n 1:只抓一帧htop(需安装)htop -d 1 -n 1 > htop_snapshot.txt
(部分版本不支持直接输出,可用 script 命令)
ps + awk 转 CSVps -eo pid,user,%cpu,%mem,comm | awk 'NR==1{print "PID,USER,CPU,MEM,COMMAND"} NR>1{print $1","$2","$3","$4","$5}' > proc.csv
jq + /proc(高级)for pid in /proc/[0-9]*; do
echo "{\"pid\": $(basename $pid), \"cmd\": \"$(cat $pid/comm)\"}"
done | jq -s '.' > processes.json
pstree -p > process_tree.txt
或带命令参数:
pstree -pa > process_tree.txt
sudo ps auxww > full_proc.txt
sudo lsof -n > open_files.txt
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M)
ps aux > /var/log/proc_$DATE.txt
| 需求 | 推荐命令 |
|---|---|
| 简单文本 | ps aux |
| CSV | ps -eo ... |
| 实时快照 | top -b -n 1 |
| 进程树 | pstree -p |
| 脚本分析 | /proc + jq |
如果你是排查问题 / 写报告 / 做监控 / 容器环境,可以告诉我具体场景,我可以给你更精确的命令或脚本。