如何查看linux下运行的程序运行
如何查看linux下运行的程序运行详细介绍
在 Linux 系统中,查看正在运行的程序(进程)可以通过多种命令行工具实现。以下是常用的方法和工具,附带具体操作示例:
1. 使用 ps 命令:静态查看进程
ps(Process Status)命令用于列出当前系统中正在运行的进程,支持多种参数组合,适用于快照式查看。
常用参数组合:
ps aux(BSD 风格):a:显示所有用户的进程(包括其他用户)。u:以用户格式显示,包含用户名、CPU / 内存占用等详细信息。x:显示无控制终端的进程。
bash
aux输出说明:
plaintextUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.1 169740 3340 ? Ss 09:00 0:01 /sbin/init
user 1234 2.0 3.0 524896 61480 pts/0 Sl+ 10:00 0:05 firefox
PID:进程 ID。%CPU:CPU 占用率。%MEM:内存占用率。COMMAND:进程对应的程序名称。
ps -ef(System V 风格):-e:显示所有进程。-f:以完整格式显示(包含父进程 PID、启动时间等)。
bash
firefox输出示例:
plaintextuser 1234 500 2 10:00 pts/0 00:00:05 /usr/bin/firefoxUID:用户 ID。PPID:父进程 ID。STIME:进程启动时间。
2. 使用 top 命令:动态监控进程
top 是一个实时监控工具,类似 Windows 的任务管理器,会周期性刷新进程状态,支持交互式操作(如按 q 退出)。
基本用法:
bash
常用操作(在 top 界面中):
- 按
P:按 CPU 占用率排序(默认)。 - 按
M:按内存占用率排序。 - 按
T:按累计运行时间排序。 - 按
k:输入进程 PID 以终止进程(等价于kill命令)。 - 按
u:输入用户名,过滤显示指定用户的进程。
输出说明:
- 顶部信息:系统时间、运行队列、负载均衡、进程总数、CPU / 内存使用情况。
- 进程列表:实时显示各进程的资源占用和状态。
3. 使用 pgrep 和 pkill:按名称搜索 / 终止进程
pgrep:根据进程名或其他条件查找进程 ID。bashpgrep firefoxpgrep user
pkill:根据进程名终止进程(等价于kill $(pgrep 进程名))。bashfirefoxchrome
4. 使用 htop:交互式进程查看工具(需安装)
htop 是 top 的增强版,界面更友好,支持鼠标操作、进程树展示等。
安装方法:
- Debian/Ubuntu:bash
- CentOS/RHEL/Fedora:bash
yum
基本用法:
bash
- 功能:通过方向键移动光标,按
F2自定义显示列,按F9发送信号给进程。
5. 其他工具:查看进程细节
lsof:查看进程打开的文件或网络连接(需 root 权限)。bash:8080
netstat/ss:查看网络连接及对应进程(常用于排查端口占用)。bashss
pidof:根据进程名获取 PID(简单版pgrep)。bashpidof firefox
总结:常用场景速查表
| 场景 | 命令示例 |
|---|---|
| 查看所有进程(详细信息) | ps aux 或 ps -ef |
| 动态监控进程(实时刷新) | top 或 htop |
| 按名称查找进程 PID | pgrep 进程名 或 pidof 进程名 |
| 终止进程(普通 / 强制) | pkill 进程名 或 pkill -9 进程名 |
| 查看进程打开的文件 / 端口 | lsof -p PID 或 netstat -tunlp |
| 按用户 / 资源占用过滤进程 | top 中按 u 或排序键(P/M/T) |
通过以上工具,你可以灵活地查看、监控和管理 Linux 系统中的运行程序。根据具体需求选择合适的命令即可~