当前位置:首页 > Linux > 正文

linux下如何查看当前进程

Linux下,可使用 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。

示例:

linux下如何查看当前进程 第1张

htop 的界面比 top 更加直观,可以使用上下箭头键选择进程,按 F9 可以杀死进程等。

使用 pgrep 和 pkill 命令

pgrep 和 pkill 是基于进程名进行搜索和操作的工具。

pgrep:

  • pgrep pattern: 根据模式查找进程ID。

示例:

$ pgrep python

输出示例:

1100

pkill:

  • pkill pattern: 根据模式杀死进程。

示例:

linux下如何查看当前进程 第2张

$ 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 的界面相对简单,操作也较为有限。

linux下如何查看当前进程 第3张

0