Linux command | 进程 | ps

本文介绍了Linux中的进程概念及其五种状态,详细解释了ps命令的多种用法,包括如何列出所有用户的进程信息、按特定标准排序输出及过滤特定进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Linux中,一个程序的运行实例叫进程。最常用的进程信息查看命令如ps, pstree, top,杀死进程命令kill。

Linux中的进程有5种状态:

  1. 运行,包括正在运行或在运行队列中等待
  2. 中断,休眠中,在等待某个条件的形成或接收到信号
  3. 不可中断,收到信号不唤醒和不可运行,进程必须等待直到有中断发生
  4. 僵死,进程已终止,但进程描述符存在,直到父进程调用wait4()后释放
  5. 停止,进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行

ps(Process Status)命令用于列出系统中当前运行进程的信息,准确说是运行ps命令的那个时刻,其通用语法是ps [选项]。如果想要动态的显示进程信息,就可以使用top命令。
值得指出的是,由于历史和兼容原因,选项的形式会有所不同。对于UNIX风格的选项,有一个先导-,GNU风格的有两个先导-,BSD风格的则没有。不同的选项类型可以混合使用,但在某些特定情况下,可能会出现冲突,因此最好坚持使用一种选项类型。

与Linux进程状态相对应,ps标识进程的5种状态码有:

  1. R 运行 runnable or on run queue
  2. S 中断 sleeping
  3. D 不可中断uninterruptible sleep (usually IO)
  4. Z 僵死 zombie process
  5. T 停止
  • ps
    在这里插入图片描述
    ps 将为在当前 shell 中运行的至少两个进程、shell 本身以及调用命令时在 shell 中运行的进程打印四列信息。其中PID为进程ID,TTY为进程控制终端的名称,以分秒的形式的TIME为进程的累积CPU时间,CMD为用来开启进程的命令名称。

  • ps aux(BSD)
    选项a表示显示所有用户的进程,仅不显示与终端无关的进程和group leader的进程。选项u代表一种面向用户的格式,提供有关进程的详细信息。x 选项指示 ps 列出没有控制终端的进程,主要是在boot时启动并在后台运行的进程。
    在这里插入图片描述
    其中USER为运行进程的用户,%CPU为进程的CPU利用率,%MEM为进程驻留集大小占机器物理内存的百分比。VSZ为以KiB为单位的进程虚拟内存大小,RSS为进程正在使用的物理内存大小,STAT为进程状态码。START为命令启动的时间。

  • ps auxf(BSD)
    在这里插入图片描述
    f 选项告诉 ps显示父子进程的树视图。

  • `ps aux --sort (BSD)
    ps 命令还允许您对输出进行排序。例如,要根据内存使用情况对输出进行排序。
    在这里插入图片描述
    详细参考How to sort ps output

  • ps -eo pid
    在这里插入图片描述
    o 选项允许指定在运行 ps 命令时显示哪些列。

  • ps aux | grep root
    ps命令的输出可以用 grep 过滤。
    在这里插入图片描述

  • ps aux | grep less
    如果要显示 ps 命令的输出,一次一页将其通过管道传递给 less 命令。

总结

ps命令是当在Linux系统上进行trouble shooting时最常用的命令之一。它有很多选项,但最常用的就是ps aux 或者ps -ef来收集运行进程的信息。

其他选项查询man7 page

参考链接:
https://linuxize.com/post/ps-command-in-linux/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值