当前位置:首页 > 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的进程。

示例:

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

$ 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 命令

htoptop 命令的一个增强版,提供了更友好的用户界面和更多的交互功能,需要先安装,可以使用包管理器进行安装,sudo apt install htop

示例:

$ htop

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

使用 pgreppkill 命令

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

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 auxps -ef 有什么区别?
A1: ps auxps -ef 都可以显示所有进程的信息,但它们有一些细微的差别。ps aux 是一个单独的命令,a 表示显示所有用户的进程,u 表示以用户格式显示,x 表示显示没有控制终端的进程,而 ps -ef 实际上是 ps -e(显示所有进程)和 f(以树状格式显示进程关系)的组合,两者的输出非常相似,但在某些系统上可能会有细微的不同。

Q2: tophtop 有什么区别?
A2: tophtop 都是用于实时监控系统进程和资源使用情况的工具,但 htop 提供了更友好的用户界面和更多的交互功能。htop 允许使用上下箭头键选择进程,并且可以直接在界面中杀死进程、调整优先级等,而 top 的界面相对简单,操作也较为有限。

0