您的当前位置:首页正文

Linux ps命令详解,看这篇就够了

2024-10-28 来源:个人技术集锦

命令截图

简单用法

* `ps aux`:显示所有进程的详细状态。

* `ps -ef` 或 `ps -fe`:显示所有进程的完整格式。

常用选项

  • -e:显示所有进程。
  • -f:全格式显示。
  • -l:长格式显示。
  • -a:显示终端上的所有进程,包括其他用户的进程。
  • -u:显示进程的详细状态。
  • -x:显示没有控制终端的进程。
  • -T:显示当前线程的层次结构。
  • -o:自定义输出格式,其中 <format> 可以是如下的格式选项之一或组合:%cpu、%mem、%tty、%time、%cmd等。例如,ps -o pid,tty,cmd 将只显示进程ID、终端类型和执行的命令行。
  • --sort:按指定的字段对输出进行排序。
  • head:仅显示输出中的前N行,其中N是用户指定的数字。

输出列的含义

ps aux

ps -ef

  1. UID:用户ID,表示运行该进程的用户。
  2. PID:进程ID,每个进程都有一个唯一的ID。
  3. PPID:父进程ID,表示创建该进程的父进程的ID。
  4. C:CPU使用率,表示该进程占用的CPU百分比。
  5. STIME:进程启动的时间。
  6. TTY:终端类型,如果进程与某个终端关联,则显示该终端的名称;否则显示"?"。
  7. TIME:该进程实际使用CPU的时间,通常以分钟或小时为单位。
  8. CMD:启动进程的命令名称或命令行。

用法实例

  1. 显示所有进程

    • ps:默认情况下,ps命令将显示当前用户的进程。
    • ps -e:显示所有进程。
    • ps -A:显示所有进程,与ps -e相同。
    • ps -a:显示终端上的所有进程,包括其他用户的进程。
  2. 按进程状态筛选

    • ps aux:显示所有进程的详细状态。
    • ps -ef | grep <pattern>:使用grep命令过滤特定模式的进程。
  3. 按CPU或内存使用筛选

    • ps aux --sort=-%cpu:按CPU使用率降序显示进程。
    • ps aux --sort=-%mem:按内存使用率降序显示进程。
  4. 显示特定用户的进程

    • ps -u <username>:显示指定用户的进程。
  5. 显示命令行参数

    • ps -o args=:显示完整的命令行参数。
  6. 显示线程信息

    • ps -T:显示当前线程的层次结构。
  7. 其他选项

    • ps -o pid,tty,cmd:自定义输出格式,只显示进程ID、终端类型和执行的命令行。
    • ps -p <pid>:显示指定进程ID的详细信息。
    • ps -f:全格式显示进程信息。
    • ps -l:长格式显示进程信息。
  8. 查看更详细的状态信息

  • ps -o stat,tid,comm,lwp,pri,ni,stime,etime,cpu,rss,pcpu,pmem,args --sort=-tid --sort=-pcpu 这条命令提供了关于进程的详细状态信息,包括线程ID、命令名称、本地和远程信号时间、CPU和内存使用情况等。
  1. 组合使用:可以通过组合不同的选项和参数来定制ps命令的输出,以满足特定的需求。例如,ps aux --sort=-%cpu | head 命令将按CPU使用率降序显示进程,并只显示前10个结果。
  2. 查看特定用户的进程:如果你想查看特定用户的所有进程,可以使用以下命令: ps -u <用户名>,例如 ps -u root。如果你还想查看该用户所运行的所有子进程,可以使用 ps -e -o user,pid,cmd | grep <用户名> 命令。例如,要查找所有以"root"用户运行的进程,你可以输入 ps -e -o user,pid,cmd | grep root。这将列出所有由root用户启动的进程及其命令行。
  3. 查看特定进程:如果你想查看特定进程的详细信息,可以使用 ps -p <pid> 命令,其中 <pid> 是你要查找的进程的ID号。例如,要查找PID为1234的进程,你可以输入 ps -p 1234。这会显示出该进程的详细信息,包括它的状态、CPU使用率、内存使用率等。
  4. 查看线程信息:如果你想查看某个进程的线程信息,可以使用 ps -T -p <pid> 命令,其中 <pid> 是你要查找的进程的ID号。例如,要查找PID为1234的进程的所有线程,你可以输入 ps -T -p 1234。这会显示出该进程的所有线程及其相关信息。
  5. 查看系统负载:如果你想查看系统的负载情况,可以使用 uptime 命令。这将显示出系统已经运行了多长时间、有多少用户在线、以及系统负载的平均值等信息。如果你还想查看更详细的系统负载信息,可以使用 tophtop 命令。这些命令可以实时地显示出系统的CPU使用率、内存使用率、运行的进程等信息,并且还可以进行交互操作。
Top