简介

  • ps命令

linux ps命令 详解

ps 命令用于显示系统中当前运行的进程信息。它提供了关于进程的详细信息,包括进程ID(PID)、CPU利用率、内存占用等。以下是一些常用的 ps 命令选项和用法:

基本用法:

  1. 显示当前用户的所有进程:
    1
    
    ps
    

    这将显示当前用户的所有进程的基本信息。

  2. 显示所有用户的所有进程:
    1
    
    ps aux
    

    使用 aux 选项可以显示所有用户的所有进程,包括系统进程。

选项和过滤:

  1. 显示详细信息:
    1
    
    ps -ef
    

    使用 -ef 选项可以显示更详细的信息,包括进程的父进程ID、启动时间等。

  2. 以树状结构显示进程:
    1
    
    ps auxf
    

    使用 auxf 选项以树状结构显示进程,显示进程之间的父子关系。

  3. 按内存使用排序:
    1
    
    ps aux --sort=-%mem
    

    使用 --sort=-%mem 选项可以按内存使用的百分比降序排序显示进程。

  4. 显示进程的线程信息:
    1
    
    ps -eLf
    

    使用 -L 选项可以显示进程的线程信息。

  5. 显示特定用户的进程:
    1
    
    ps -u username
    

    使用 -u 选项可以显示特定用户的进程。

  6. 按进程名过滤显示:
    1
    
    ps -C process_name
    

    使用 -C 选项可以按进程名过滤显示。

更多选项:

  1. 显示进程树:
    1
    
    pstree
    

    使用 pstree 命令可以以树状结构显示进程树。

  2. 以用户格式显示进程:
    1
    
    ps -eo user,pid,%cpu,%mem,cmd
    

    使用 -eo 选项可以以用户定义的格式显示进程信息,这里列出了用户、进程ID、CPU利用率、内存占用和命令。

  3. 查看进程的详细信息:
    1
    
    ps -p pid -o pid,ppid,uid,gid,cmd
    

    使用 -p 选项指定进程ID,并使用 -o 选项指定要显示的信息。

ps 命令提供了广泛的选项,使得你可以根据不同的需求查看和分析进程信息。根据实际情况选择合适的选项,可以更好地了解系统中运行的进程。

linux ps命令 常用技巧

以下是一些在使用 ps 命令时常用的技巧和选项,可以更灵活地查看和管理进程信息:

1. 查看指定用户的进程:

1
ps -u username

使用 -u 选项可以显示特定用户的进程。将 username 替换为要查看的用户名。

2. 按进程名过滤显示:

1
ps -C process_name

使用 -C 选项可以按进程名过滤显示,只显示指定进程名的进程。

3. 显示所有进程树:

1
pstree

使用 pstree 命令以树状结构显示所有进程的父子关系。

4. 按 CPU 利用率排序显示进程:

1
ps aux --sort=-%cpu

使用 --sort=-%cpu 选项可以按 CPU 利用率降序排序显示进程。

5. 以用户定义格式显示进程信息:

1
ps -eo user,pid,%cpu,%mem,cmd

使用 -eo 选项以用户定义的格式显示进程信息,列出了用户、进程ID、CPU利用率、内存占用和命令。

6. 显示线程信息:

1
ps -eLf

使用 -L 选项显示进程的线程信息。

7. 显示所有进程的详细信息:

1
ps -ef

使用 -ef 选项显示所有进程的详细信息,包括进程的父进程ID、启动时间等。

8. 显示所有进程的详细信息(BSD格式):

1
ps aux

使用 aux 选项以 BSD 格式显示所有进程的详细信息。

9. 显示进程的线程数:

1
ps -eT

使用 -T 选项显示进程的线程数。

10. 显示所有进程的信息(包括僵尸进程):

1
ps -e

使用 -e 选项显示所有进程的信息,包括僵尸进程。

11. 显示进程的状态信息:

1
ps -o pid,state,cmd

使用 -o 选项显示进程的状态信息,包括进程ID、状态和命令。

12. 显示所有进程的内存占用情况:

1
ps aux --sort=-%mem

使用 --sort=-%mem 选项按内存占用降序排序显示所有进程的信息。

这些技巧和选项可以帮助你更灵活地使用 ps 命令,根据具体的需求查看和管理进程信息。根据情况选择合适的选项,可以更方便地进行系统监控和故障排查。

ps

  • ps命令用于报告当前系统的进程状态,可以搭配kill指令随时中断,删除不必要的程序。
  • ps明星是最基本的同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态,进程是否结束,进程有没有僵死,哪些进程占用了过多的资源等等
  • 参数
    • a : 显示当前终端下的所有进程信息,包括其他用户的进程
    • u : 使用以用户为主的格式输出进程信息
    • x : 显示当前用户在所有终端下的进程
  • 字段解释
    • USER : 启动该进程的用户账号名称
    • PID : 该进程的ID号,在当前系统中是唯一的
    • %CPU : CPU占用的百分比
    • %MEM : 内存占用的百分比
    • VSZ : 占用虚拟内存(swap空间)的大小
    • RSS : 占用常驻内存(物理内存)的大小
    • TTY : 该进程在哪个终端上运行. "?"表示未知或不需要终端
    • STAT : 显示了进程当前的状态
      • S , interruptible sleep (waiting for an event to complete : 休眠
      • R , running or runnable (on run queue) : 运行
      • Z , defunct("zombie") process, terminated but not reaped by its parent : 僵死, 对于僵死状态的进程应该手动终止
      • < , high-priority (not nice to other users) : 高优先级
      • N , low-priority (nice to other users) : 低优先级
      • s , is a session leader : 父进程
      • + , is in the foreground process group : 前台进程
      • l , is multi-threaded(using CLONE_THREAD, like NPTL pthreads do):多线程
    • START: 启动该进程的时间
    • TIME : 该进程占用CPU的时间
    • COMMAND: 启动该进程的命令的名称
  • 参数
    • e : 显示系统内的所有进程信息
    • l : 使用长(long)格式显示进程信息
    • f : 使用完整的(full)格式显示进程信息