Linux ps 命令

0、ps -ef 行首意思

[oldboy@zhang~]$ ps -ef  

UID        PID PPID  C STIME TTY          TIME CMD

root         1    0  0 08:21 ?        00:00:00 /sbin/init

root         2    0  0 08:21 ?        00:00:00 [kthreadd]

root         3    2  0 08:21 ?        00:00:00 [migration/0]

各相关信息的意义:

UID 程序被该 UID 所拥有【通常显示用户名】

PID 就是这个进程的 ID

PPID 则是其上级父进程的ID

C  CPU 使用的资源百分比

STIME 系统启动时间【进程启动到现在的时间 

TTY 登入者的终端机位置

TIME 使用掉的 CPU 时间。

CMD 所下达的指令为何

 

1、概述

         显示当前进程的快照。

         显示选择活动进程的信息。如果想要显示实时动态的进程信息,使用 top命令。

        

2、命令格式

         ps[options]

 

[oldboy@zhang~]$ ps --help   

********* simple selection ********* ********* selection by list *********

-A allprocesses                      -C bycommand name

-N negateselection                   -G by realgroup ID (supports names)

-a all w/ ttyexcept session leaders  -U by real userID (supports names)

-d all exceptsession leaders         -g by session ORby effective group name

-e allprocesses                      -p byprocess ID

T  all processes on this terminal     -s processes in the sessions given

a  all w/ tty, including other users  -t by tty

g  OBSOLETE -- DO NOT USE             -u by effective user ID (supportsnames)

r  only running processes             U processes for specified users

x  processes w/o controlling ttys     t by tty

*********** output format ********** *********** long options ***********

-o,ouser-defined  -f full            --Group --User --pid --cols --ppid

-j,j jobcontrol   s  signal          --group --user --sid --rows --info

-O,O preloaded-o  v virtual memory  --cumulative--format --deselect

-l,l long          u user-oriented   --sort --tty--forest --version

-F   extra full   X  registers       --heading --no-heading --context

                    ********* misc options*********

-V,V  show version      L list format codes  f  ASCII art forest

-m,m,-L,-T,H  threads  S  children in sum    -y change -l format

-M,Z  security data     c true command name  -c schedulingclass

-w,w  wide output       n numeric WCHAN,UID  -H processhierarchy

3、常用命令参数

SIMPLE  PROCESS  SELECTION

         -A  显示所有进程。和 -e 相同

         -N  显示所有进程,除了那些满足特定条件的进程【反向选择】。和 --deselect 相同。

         T  显示当前终端的所有进程。和 t 选项在没有任何参数时相同。

         -a  显示所有进程。前提条件是只显示终端连接的那些进程。除去会话引线和没有分配到终端的那些进程。

[oldboy@zhang~]$ ps -a

  PID TTY          TIME CMD

 1609 pts/2   00:00:00 man

 1612 pts/2   00:00:00 sh

 1613 pts/2   00:00:00 sh

 1617 pts/2   00:00:00 less

 2089 pts/1   00:00:00 top

 4424 tty1    00:00:00 top      【系统命令行】

 4427 pts/0   00:00:00 ps

         a  显示与终端有关的进程

[oldboy@zhang~]$ ps a

  PID TTY     STAT   TIME COMMAND

 1506 tty2    Ss+    0:00 /sbin/mingetty/dev/tty2

 1508 tty3    Ss+    0:00 /sbin/mingetty/dev/tty3

 1510 tty4    Ss+    0:00 /sbin/mingetty/dev/tty4

 1512 tty5    Ss+    0:00 /sbin/mingetty/dev/tty5

 1514 tty6    Ss+    0:00 /sbin/mingetty /dev/tty6

 1533 pts/0   Ss     0:00 -bash

 1556 pts/1   Ss     0:00 -bash

 1579 pts/2   Ss     0:00 -bash

 1609 pts/2   S+     0:00 man ps

 1612 pts/2   S+     0:00 sh -c (cd"/usr/share/man" && (echo ".ll 9.3i"; echo".nr LL 9.3i"; echo ".pl

 1613 pts/2   S+     0:00 sh -c (cd"/usr/share/man" && (echo ".ll 9.3i"; echo".nr LL 9.3i"; echo ".pl

 1617 pts/2   S+     0:00 /usr/bin/less -is

 2089 pts/1   S+     0:00 top

 4396 tty1    Ss     0:00 -bash

 4424 tty1    S+     0:00 top       【系统命令行】

 4426 pts/0   R+     0:00 ps a

         -d  显示所有进程,除了会话引线。

         -e  显示所有进程。和 -A 相同。

         r  显示当前终端正在运行的进程

         --deselect  显示所有进程,除了那些满足特定条件的进程【反向选择】。和 -N 相同。

PROCESS  SELECTION  BY LIST

         这些选项接受一个单独的参数,在一个空白分隔的或逗号分隔的列表的形式。可以使用多次。例如:ps -p "1 2" -p 3,4

         -Ccmdlist  根据命令名称选择进程【没有通配符和正则匹配】

[oldboy@zhang~]$ ps -C top

  PID TTY          TIME CMD

 2089 pts/1   00:00:01 top

 4566 tty1    00:00:01 top

         -Ggrplist  根据真实的组ID或组名称选择进程。哪个创建的该进程,真正的组ID就是哪个。

         其他的自行查看,工作中不怎么用就不写了

………………

OUTPUT  FORMAT  CONTROL

         对ps的信息进行选择显示。可能有所不同

         -F  额外全格式。参见-f选项

[oldboy@zhang~]$ ps -f      

UID        PID PPID  C STIME TTY          TIME CMD

oldboy    1821 1790  0 23:11 pts/1    00:00:00 -bash

oldboy    2006 1821  0 23:25 pts/1    00:00:00 ps -f

[oldboy@zhang~]$ ps -F        

UID        PID PPID  C    SZ  RSS PSR STIME TTY          TIMECMD

oldboy    1821 1790  0 27117  1876  0 23:11 pts/1    00:00:00 -bash

oldboy    2014 1821  0 27560  1132  0 23:26 pts/1    00:00:00 ps -F

         -Oformat  就像 -o ,但是有一些默认的列。同 -opid,format,state,tname,time,command或者-o pid,format,tname,time,cmd,参见下面的-o。

………………

 

4、常用示例

系统文档示例
查看系统每个进程的标准语法:

ps -e

ps -ef   # 常用

ps -eF

ps -ely

         注意他们的区别

[oldboy@zhang~]$ ps -e | head-n5

  PID TTY          TIME CMD

    1 ?       00:00:00 init

    2 ?       00:00:00 kthreadd

    3 ?       00:00:00 migration/0

    4 ?       00:00:00 ksoftirqd/0

[oldboy@zhang~]$ ps -ef |head -n5    # 常用

UID        PID PPID  C STIME TTY          TIME CMD

root         1    0  0 08:21 ?        00:00:00 /sbin/init

root         2    0  0 08:21 ?        00:00:00 [kthreadd]

root         3    2  0 08:21 ?        00:00:00 [migration/0]

root         4    2  0 08:21 ?        00:00:00 [ksoftirqd/0]

[oldboy@zhang~]$ ps -eF |head -n5   

UID        PID PPID  C    SZ  RSS PSR STIME TTY          TIMECMD

root         1    0  0  4808 1512   0 08:21 ?        00:00:00 /sbin/init

root         2    0  0     0    0   0 08:21 ?        00:00:00 [kthreadd]

root         3    2  0     0    0   0 08:21 ?        00:00:00 [migration/0]

root         4    2  0     0    0   0 08:21 ?        00:00:00 [ksoftirqd/0]

[oldboy@zhang~]$ ps -ely |head -n5  

S  UID   PID PPID  C PRI  NI  RSS    SZ WCHAN  TTY         TIME CMD

S     0    1     0  0 80   0  1512 4808 poll_s ?        00:00:00 init

S     0    2     0  0 80   0     0    0 kthrea ?        00:00:00kthreadd

S     0    3     2  0 -40  -     0     0 migrat ?        00:00:00 migration/0

S     0    4     2  0 80   0     0    0 ksofti ?        00:00:00ksoftirqd/0

查看系统每个进程的BSD【Unix系统分支】语法:

ps ax

ps axu

         注意他们的区别

[oldboy@zhang~]$ ps ax | head-n5

  PID TTY     STAT   TIME COMMAND

    1 ?       Ss     0:00 /sbin/init

    2 ?       S      0:00 [kthreadd]

    3 ?       S      0:00 [migration/0]

    4 ?       S      0:00 [ksoftirqd/0]

[oldboy@zhang~]$ ps axu |head -n5   

USER       PID %CPU %MEM    VSZ  RSS TTY      STAT START   TIME COMMAND

root         1 0.0  0.0  19232 1512 ?        Ss   08:21  0:00 /sbin/init

root         2 0.0  0.0      0    0 ?        S    08:21  0:00 [kthreadd]

root         3 0.0  0.0      0    0 ?        S    08:21  0:00 [migration/0]

root         4 0.0  0.0      0    0 ?        S    08:21  0:00 [ksoftirqd/0]

         上述栏位解释:

USER 进程的属主;

PID   进程的ID;

PPID    父进程;

%CPU   进程占用的CPU百分比;

%MEM  占用内存的百分比;

NI        进程的NICE值,数值大,表示较少占用CPU时间;

VSZ     該进程使用的虚拟內存量(KB);

RSS     該進程占用的固定內存量(KB)(驻留中页的数量);

TTY     該進程在那個終端上運行(登录者的终端位置),若与終端无关,則顯示(?)。若為pts/0等,則表示由网络连接主机进程

WCHAN  當前進程是否正在進行,若為-表示正在進行;

START   该进程被触发启动时间;

TIME      該进程實際使用CPU運行的时间;

COMMAND   命令的名称和参数;

 

STAT狀態位常見的狀態字符

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

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

         S处于休眠状态;

         T停止或被追踪;

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

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

         Z僵尸进程;

         <优先级高的进程

         N优先级较低的进程

         L有些页被锁进内存;

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

         l多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);

         +位于后台的进程组;

打印进程树

ps -ejH

ps axjf

         自行查看

获取线程信息

ps -eLf

ps axms

         自行查看

………………

 

5、命令所在位置和类型

[oldboy@zhang~]$ which ps

/bin/ps

[oldboy@zhang~]$ type ps

ps is hashed(/bin/ps)

 

6、另请参见

每天一个linux命令(41):ps命令

ps命令详解

ps aux指令詳解

<ps>ps aux 和ps -aux和 ps -ef的选择 【重点】

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值