您好,欢迎来到有书房!

Linux之ps命令

分类:知识大全作者:互联网王者 发布时间:2019-03-12 11:57:39阅读:1.2万+

引言:ps(process status)命令,是Linux系统命令之一,是在Linux系统中查看进程的命令。ps命令是最基本也是最强大的进程查看命令,ps命令提供了关于进程的各种详细信息,如进程 ID(PID)、进程状态、CPU 使用情况、内存占用、运行时间等。

ps(process status)命令,是Linux系统命令之一,是在Linux系统中查看进程的命令。ps命令是最基本也是最强大的进程查看命令,ps命令提供了关于进程的各种详细信息,如进程 ID(PID)、进程状态、CPU 使用情况、内存占用、运行时间等。ps命令可以查询那些进程正在运行,以及哪些进程可以停止等等


先看一下linux系统进程的状态和ps提供的状态码:

linux系统的进程有5种状态,如下所示:

运行状态(正在运行或在运行队列中等待[就绪队列])

中断状态(休眠中, 受阻, 在等待某个条件的形成或接受到信号)

不可中断状态(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)

僵死状态(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)

停止状态(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)


ps命令标识进程的5种状态码:

D 不可中断 uninterruptible sleep (usually IO)

R 运行 runnable (on run queue)

S 中断 sleeping

T 停止 traced or stopped

Z 僵死 a defunct (”zombie”) process


ps命令格式:

ps [options] [--help]


常用的 ps 命令选项参数:

-A:(All)显示所有进程,而不仅仅是当前用户的进程

-U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)

-C:(Command)查找具有指定命令名称的进程

-a:显示当前终端下的所有进程信息,包括其他用户的进程。

-e:(every)显示所有进程,而不仅仅是当前用户的进程

-u:(user)显示面向用户的进程的详细信息,如进程所有者、CPU 使用率、内存使用率等

-f:(full-format)以全格式的列表显示进程的信息,包括进程之间的层级关系

-p:(pid)查找具有指定进程 ID 的进程

-u:使用以用户为主的格式输出进程信息。

-x:显示当前用户在所有终端下的进程。

-l:使用长(long)格式显示进程信息。

-w:显示加宽可以显示较多的资讯

-au:显示较详细的资讯

-aux:以详细格式显示所有正在运行的进程,其中 x 指的是在没有控制终端的情况下列出进程,这些显示的主要是启动并运行在后台的进程

-d 显示所有进程,但省略所有的会话引线(utility)

-x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)

-p pid 进程使用cpu的时间

-u uid or username 选择有效的用户id或者是用户名

-g gid or groupname 显示组的所有进程。

-f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.

-l 长格式(有F,wchan,C 等字段)

-j 作业格式

-o 用户自定义格式。

-v 以虚拟存储器格式显示

-s 以信号格式显示

-m 显示所有的线程

-H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)

-e 命令之后显示环境(如:ps -d e; ps -a e)(utility)

-h 不显示第一行


ps命令举例:

1.ps 显示4 列信息:PID、TTY、TIME、CMD

PID:(Process ID)唯一的进程 ID

TTY:(Teletypewriter)它指的是终端类型或终端设备,用于用户与计算机进行交互的输入输出设备,例如终端窗口或控制台。

TIME:进程运行过程中占用 CPU 的总时间(以分钟和秒为单位),简单理解就是 CPU 运行这个进程消耗的时间。

CMD:启动进程的命令的名称

2.ps -e 显示所有进程信息,包括当前用户和其他用户的进程:

ps -e命令等价于 ps -A,这里的 e 和 A 分别是 every 和 all 的意思,所以等价。

3.ps -a:显示当前终端下的所有进程信息,包括当前用户和其他用户的进程。

4. ps -u 显示进程的详细信息,包括进程所有者、CPU 使用率、内存使用率等。

USER:进程所有者的用户名

PID:进程的唯一标识符,即进程 ID

%CPU:进程使用的 CPU 资源的百分比

%MEM:进程使用的内存资源的百分比

VSZ:(Virtual Memory Size)进程的虚拟内存大小(以 KB 为单位)

RSS:(Resident Set Size)进程占用的物理内存大小(以 KB 为单位)

TTY:进程所关联的终端

STAT:进程的状态(例如,R 表示运行,S 表示睡眠,Z 表示僵尸(Zombie)等)

START:进程启动的时间

TIME:进程运行过程中占用 CPU 的总时间

COMMAND:启动进程的命令名称

5. ps -f 显示进程之间的层级关系:

UID:进程所有者的用户 ID

PID:进程的唯一 ID

PPID:(Parent Process ID)父进程的标识符

C:与 %CPU 的意思相同,进程使用的 CPU 资源的百分比,或者说进程的 CPU 使用率

STIME:与 START 的意思相同,进程启动的时间

TTY:与进程相关联的终端

TIME:进程运行过程中占用 CPU 的总时间

CMD:启动进程的命令名称

ps -ef 查看更多的进程的信息:

6. 显示具有指定进程 ID 的进程的信息:

ps -p PID


7.  ps 可以通过管道符 | 和其他命令结合使用,起到一个过滤输出显示结果的作用

ps -ef | grep  nginx

ps的命令很强大,功能也很强大,通常情况下, ps -aux 或者 ps -ef 或者 ps -ef | grep 的使用频率比较高,ps命令还可以和kill命令搭配,进行对进程的管理、杀死。


声明:本文内容版权归原作者所有,未经授权,禁止转载!

声明:本站仅提供内容存储、展示服务,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的虚假信息,谨防诈骗。如发现有害或侵权内容,可联系本站删除!

发表评论

评论

联系
我们

平台负责人邮箱
282271588@qq.com

关注
公众号

关注官方公众号

下载
安卓版

下载安卓版

回到
顶部