linux下如何查看当前进程
- Linux
- 2025-08-08
- 4
ps
命令查看当前进程,如
ps aux
;
Linux操作系统下,查看当前进程是一项常见且重要的操作,通过查看进程,可以了解系统的运行状态、资源使用情况以及排查问题,以下是几种常用的方法来查看当前进程:
使用 ps
命令
ps
(process status)命令是用于显示当前进程状态的一个基本工具,它提供了多种选项来过滤和格式化输出信息。
常用选项:
ps
: 显示当前终端下的进程。ps aux
: 显示所有用户的所有进程的详细信息。ps -e
: 显示所有进程的信息。ps -f
: 以树状格式显示进程关系。
示例:
$ ps aux
输出示例:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 19384 1520 ? Ss 2023 0:01 /sbin/init user 1001 0.2 1.0 43188 4320 ? Ssl 2023 1:02 /usr/lib/gnome-terminal/gnome-terminal-server user 1100 0.0 0.3 34567 1345 ? Sl 2023 0:30 /usr/bin/python3 script.py
使用 top
命令
top
命令提供了一个动态实时视图,显示系统的整体性能和各个进程的资源使用情况,默认情况下,它会持续更新,直到用户终止。
常用选项:
top
: 启动实时进程监视器。top -u username
: 仅显示指定用户的进程。top -p PID
: 仅显示指定PID的进程。
示例:
$ top
输出示例:
top 20:45:02 up 10 days, 3:21, 2 users, load average: 0.00, 0.01, 0.05 Tasks: 145 total, 1 running, 144 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.1 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 798888 total, 34567 free, 23456 used, 538765 buff/cache KiB Swap: 204887 total, 204887 free, 0 used. 456787 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1001 user 20 0 43188 4320 3456 S 0.0 0.1 0:01 gnome-terminal 1100 user 20 0 34567 1345 1234 S 0.0 0.3 0:30 python3
使用 htop
命令
htop
是 top
命令的一个增强版,提供了更友好的用户界面和更多的交互功能,需要先安装,可以使用包管理器进行安装,sudo apt install htop
。
示例:
$ htop
htop
的界面比 top
更加直观,可以使用上下箭头键选择进程,按 F9 可以杀死进程等。
使用 pgrep
和 pkill
命令
pgrep
和 pkill
是基于进程名进行搜索和操作的工具。
pgrep
:
pgrep pattern
: 根据模式查找进程ID。
示例:
$ pgrep python
输出示例:
1100
pkill
:
pkill pattern
: 根据模式杀死进程。
示例:
$ pkill -f python
这会杀死所有包含 python
的进程。
使用 /proc
文件系统
Linux 的 /proc
文件系统是一个虚拟文件系统,包含了系统和进程的各种信息,每个正在运行的进程在 /proc
目录下都有一个对应的目录,目录名为进程的PID。
示例:
$ ls /proc/1/
输出示例:
cgroup cmdline coredump_filter cpuset diskstats epollfdinfo fd features gid_map ioports net oom_adj pagemap personality sessionid stat syscall task uid_map
命令 | 描述 | 常用选项 |
---|---|---|
ps |
显示当前进程状态 | aux , -e , -f |
top |
实时显示系统进程和资源使用情况 | -u username , -p PID |
htop |
top 的增强版,提供交互式界面 |
|
pgrep |
根据模式查找进程ID | pattern |
pkill |
根据模式杀死进程 | pattern , -f |
/proc |
虚拟文件系统,包含进程信息 |
FAQs
Q1: ps aux
和 ps -ef
有什么区别?
A1: ps aux
和 ps -ef
都可以显示所有进程的信息,但它们有一些细微的差别。ps aux
是一个单独的命令,a
表示显示所有用户的进程,u
表示以用户格式显示,x
表示显示没有控制终端的进程,而 ps -ef
实际上是 ps -e
(显示所有进程)和 f
(以树状格式显示进程关系)的组合,两者的输出非常相似,但在某些系统上可能会有细微的不同。
Q2: top
和 htop
有什么区别?
A2: top
和 htop
都是用于实时监控系统进程和资源使用情况的工具,但 htop
提供了更友好的用户界面和更多的交互功能。htop
允许使用上下箭头键选择进程,并且可以直接在界面中杀死进程、调整优先级等,而 top
的界面相对简单,操作也较为有限。