您的位置:首页 > 运维架构 > Linux

Linux之ps命令

2019-06-06 17:24 1676 查看

1、功能简介

    报告当前进程

[root@vms002 /]# whatis ps
ps (1)               - report a snapshot of the current processes.   #报告当前进程的快照
ps (1p)              - report process status   #报告进程状态

2、命令语法

[root@vms002 /]# man ps
SYNOPSIS
       ps [options]

3、常用选项

选项

含义

-A

列出所有的进程

-w

显示加宽,可以显示较多的信息

-a

显示现行终端机下的所有进程,包括其他用户的进程

-u

以用户为主的进程状态

-x

通常与a这个参数一起使用,可列出较完整信息

-r

只显示正在运行的进程

-h

不显示标题

-e

显示所有进程,环境变量

-f

全格式

-l

长格式

--help

显示帮助信息

--version

显示版本信息

常用选项组合:

    1)ps -ef  #用标准的格式显示进程

    2)ps -aux  #用BSD的格式来显示

4、ps -ef和ps -aux格式详解

    1)ps -ef 标准格式

[root@vms001 /]# ps -ef|head -3
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 6月04 ?       00:00:09 /usr/lib/systemd/systemd --switched-root --system --deserialize 24
root          2      0  0 6月04 ?       00:00:00 [kthreadd]

格式详解:

UID
PIDPPIDCSTIMETTYTIMECMD
用户ID进程ID父进程ID进程占用CPU的百分比进程启动的时间该进程在哪个终端上运行,若与终端无关,则显示?若为pts/0等,则表示由网络连接主机进程该进程实际使用CPU运行的时间命令的名称和参数

    2)ps -aux BSD格式

[root@vms001 /]# ps -aux|head -3
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.2  60592  7936 ?        Ss   6月04   0:09 /usr/lib/systemd/systemd --switched-root --system --deserialize 24
root          2  0.0  0.0      0     0 ?        S    6月04   0:00 [kthreadd]

格式详解:

USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIME
用户名
进程的ID
进程占用的CPU百分比进程占用内存的百分比该进程使用的虚拟内存量(KB)该进程占用的固定内存量(KB)该进程在哪个终端上运行,若与终端无关,则显示?若为pts/0等,则表示由网络连接主机进程进程的状态
该进程实际使用CPU运行的时间
COMMAND
命令的名称和参数

5、Linux上的进程状态

进程状态[strong]ps命令对应的状态码[/strong]含义
运行R运行runnable(on run queue)正在运行或在运行队列中等待
中断S中断sleeping休眠中,受阻,在等待某个条件的形成或接受到信号
不可中断D不可中断uninterruptible sleep (usually IO)收到信号不唤醒和不可运行,进程必须等待直到有中断发生
僵死Z僵死a defunct ("zombie") process进程已终止,但进程描述符存在,直到父进程调用wait4()系统调用后释放
停止T停止traced or stopped进程收到SIGSTOP、SIGSTP、SIGTIN、SIGTOU信号后停止运行

其中STAT状态位常见的状态字符有

D      //无法中断的休眠状态(通常 IO 的进程); 

R      //正在运行可中在队列中可过行的; 

S      //处于休眠状态; 

T      //停止或被追踪; 

W      //进入内存交换 (从内核2.6开始无效); 

X      //死掉的进程 (基本很少见); 

Z      //僵尸进程; 

<      //优先级高的进程 

N      //优先级较低的进程 

L      //有些页被锁进内存; 

s      //进程的领导者(在它之下有子进程); 

l      //多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads); 

+      //位于后台的进程组;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: