zoukankan      html  css  js  c++  java
  • ps

    ps 功能说明:ps命令用户列出命令的那个时刻的进程快照,就像用手机给进程找了一张照片。
    如果想要动态显示进程的信息,就需要使用top命令,该命令类似于把手机切换成录像模式。
    
    参数选项:
    -a   显示所有终端下执行的进程。
    a    显示终端相关的所有进程,包含每个进程的完整路径。
    x    显示与终端无关的所有进程。
    u    显示进程的用户信息。
    -u   显示指定用户相关的进程信息。
    -e   显示所有进程。
    -f   额外显示UID、PPID、C与STIME栏位。
    f    显示进程树。
    -H   显示进程树。
    -l   以详细的格式来显示进程的状况。
    -o   自定义输出指定的字段,以逗号分隔。
    --sort key   key表示指定字段排序,默认升序,+key升序,-key降序。
    
    
    范例:不加任何参数
    [root@testdb62 ~]# ps
      PID TTY          TIME CMD
    29122 pts/3    00:00:00 bash
    29221 pts/3    00:00:00 su
    29243 pts/3    00:00:00 sudo
    29246 pts/3    00:00:00 su
    29248 pts/3    00:00:00 bash
    30672 pts/3    00:00:00 ps
    
    说明:不加任何参数时,输出的是使用者当前所在的终端
    PID: 进程的标识号。
    TTY: 进程所属的终端控制台。
    TIME: 进程所使用的总的CPU时间。
    CMD: 正在执行的命令行。
    
    
    范例:ps命令常用操作组合(ps -ef)
    [root@testdb62 ~]# ps -ef
    UID        PID  PPID  C STIME TTY          TIME CMD
    root         1     0  0 Oct13 ?        00:24:11 /usr/lib/systemd/systemd --switched-root --system --deserialize 2
    root         2     0  0 Oct13 ?        00:00:02 [kthreadd]
    root         4     2  0 Oct13 ?        00:00:00 [kworker/0:0H]
    root         6     2  0 Oct13 ?        00:00:45 [ksoftirqd/0]
    root         7     2  0 Oct13 ?        00:00:23 [migration/0]
    root         8     2  0 Oct13 ?        00:00:00 [rcu_bh]
    root         9     2  0 Oct13 ?        00:16:16 [rcu_sched]
    root        10     2  0 Oct13 ?        00:00:00 [lru-add-drain]
    
    说明:-ef 是UNIX格式参数。
    UID: 进程被该UID所拥有。
    PID: 进程的标识号。
    PPID: 进程的父进程的标识号。
    C: CPU使用的资源百分比。
    STIME: 进程开始的时间。
    TTY: 进程所属的终端控制台,若与终端机无关,则显示"?",tty1-tty6是本机上面的登入者进程,如果pts/0等,则表示为由网络连接进主机的进程。
    TIME: 进程所使用的总的CPU时间。
    CMD: 正在执行的命令行。
    
    ps和grep组合用法,用于查找特定进程
    [root@testdb62 ~]# ps -ef|grep ssh
    root      1246     1  0 Oct13 ?        00:00:06 /usr/sbin/sshd -D
    root      8302  1246  0 16:00 ?        00:00:00 sshd: root@pts/2
    root      9248 21497  0 16:18 pts/0    00:00:00 grep --color=auto ssh
    root     21494  1246  0 09:35 ?        00:00:00 sshd: root@pts/0
    
    
    范例:ps命令常用操作组合(ps aux)
    [root@testdb62 ~]# ps aux
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root         1  0.0  0.0 191128  3340 ?        Ss   Oct13  24:11 /usr/lib/systemd/systemd --switched-root --syste
    root         2  0.0  0.0      0     0 ?        S    Oct13   0:02 [kthreadd]
    root         4  0.0  0.0      0     0 ?        S<   Oct13   0:00 [kworker/0:0H]
    root         6  0.0  0.0      0     0 ?        S    Oct13   0:46 [ksoftirqd/0]
    root         7  0.0  0.0      0     0 ?        S    Oct13   0:23 [migration/0]
    root         8  0.0  0.0      0     0 ?        S    Oct13   0:00 [rcu_bh]
    root         9  0.0  0.0      0     0 ?        S    Oct13  16:17 [rcu_sched]
    root        10  0.0  0.0      0     0 ?        S<   Oct13   0:00 [lru-add-drain]
    
    说明:aux 是bsd格式参数。
    USER: 该进程属于的用户。
    PID:  该进程的标识号。
    %CPU: 该进程使用掉的CPU资源百分比。  
    %MEM: 该进程所占用的物理内容百分比。     
    VSZ: 该进程使用掉的虚拟内存量(单位为Kbytes)。    
    RSS: 该进程占用的固定的内存量(单位为Kbytes)。  
    TTY: 进程所属的终端控制台,若与终端机无关,则显示"?",tty1-tty6是本机上面的登入者进程,如果pts/0等,则表示为由网络连接进主机的进程。       
    STAT: 该进程目前的状态,主要的状态包括如下:
    R: 正在运行,或者是可以运行。
    S: 正在中断睡眠, 可以由某些信号(signal)唤醒。
    D: 不可中断睡眠。
    T: 正在侦测或者是停止了。
    Z: 已经终止,但是其父进程无法正常终止它,从而变成zombie(僵尸)进程。
    +: 前台进程。
    l: 多线程进程。
    N: 低优先级进程。
    <: 高优先级进程。
    L: 已将页面锁定到内存中。
    
    START: 该进程被触发启动的时间。    
    TIME: 该进程实际使用CPU运作的时间。  
    COMMAND: 该进程的实际命令。
    
    
    范例:指定用户的相关进程信息
    [root@testdb62 ~]# ps -u root
      PID TTY          TIME CMD
        1 ?        00:24:12 systemd
        2 ?        00:00:02 kthreadd
        4 ?        00:00:00 kworker/0:0H
        6 ?        00:00:46 ksoftirqd/0
        7 ?        00:00:23 migration/0
        8 ?        00:00:00 rcu_bh
        9 ?        00:16:17 rcu_sched
       10 ?        00:00:00 lru-add-drain
    
    
    范例:以详细的格式显示进程状况
    [root@testdb62 ~]# ps -l
    F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
    0 R     0 10690 21497  0  80   0 - 38304 -      pts/0    00:00:00 ps
    4 S     0 21497 21494  0  80   0 - 28895 do_wai pts/0    00:00:00 bash
    
    说明:
    此命令是UNIX格式参数
    F:  
    S:  
    UID: 进程被该UID所拥有。
    PID: 进程的标识号。
    PPID: 进程的父进程的标识号。
    C: CPU使用的资源百分比。  
    PRI: Priority(优先执行顺序)的缩写。  
    NI: Nice值。 
    ADDR: 指出该进程在内存的哪个部分。如果是个running的进程,则一般是"-"。 
    SZ: 使用掉的内存大小。
    WCHAN: 目前这个进程是否在运作当中,若为"-"则表示正在运作。
    TTY: 进程所属的终端控制台,若与终端机无关,则显示"?",tty1-tty6是本机上面的登入者进程,如果pts/0等,则表示为由网络连接进主机的进程。                
    TIME: 该进程实际使用CPU运作的时间。  
    CMD: 该进程的实际命令。 
    
    
    范例:显示进程树(ps -eH UNIX格式参数)
    [root@testdb62 ~]# ps -eH  
      PID TTY          TIME CMD
        2 ?        00:00:02 kthreadd
        4 ?        00:00:00   kworker/0:0H
        6 ?        00:00:46   ksoftirqd/0
        7 ?        00:00:23   migration/0
     1004 ?        00:01:08   crond
     1246 ?        00:00:06   sshd
    21494 ?        00:00:00     sshd
    21497 pts/0    00:00:00       bash
    11606 pts/0    00:00:00         ps
     8302 ?        00:00:00     sshd
     8305 pts/2    00:00:00       bash
     1247 ?        00:12:45   tuned
     1251 ?        00:05:00   rsyslogd
     1256 tty1     00:00:00   agetty
     1302 ?        00:00:00   rhsmcertd
    12944 ?        00:34:37   frpc
    10735 ?        00:00:00   mysqld_safe
    
    
    范例:显示进程树(ps axf BSD格式参数)
    [root@testdb62 ~]# ps axf
      PID TTY      STAT   TIME COMMAND
        2 ?        S      0:02 [kthreadd]
        4 ?        S<     0:00  \_ [kworker/0:0H]
        1 ?        Ss    24:12 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
    21494 ?        Ss     0:00  \_ sshd: root@pts/0
    21497 pts/0    Ss     0:00  |   \_ -bash
    11846 pts/0    R+     0:00  |       \_ ps axf
     8302 ?        Ss     0:00  \_ sshd: root@pts/2
     8305 pts/2    Ss+    0:00      \_ -bash
     1247 ?        Ssl   12:45 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
     1251 ?        Ssl    5:00 /usr/sbin/rsyslogd -n
     1256 tty1     Ss+    0:00 /sbin/agetty --noclear tty1 linux
     1302 ?        Ss     0:00 /usr/bin/rhsmcertd
    12944 ?        Ssl   34:37 /usr/bin/frpc -c /etc/frpc.ini
    10735 ?        S      0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/
    11250 ?        Sl    57:16  \_ /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plu
    13712 ?        Sl    27:47 mysqld --defaults-file=/etc/my_3308.cnf
    13746 ?        Sl    27:50 mysqld --defaults-file=/etc/my_3307.cnf
    22126 ?        Sl     9:46 /usr/bin/frpc -c /etc/frpc.ini
    
    
    范例:查看某个进程在哪个CPU上运行
    [root@testdb62 ~]# ps -eo pid,args,psr
      PID COMMAND                     PSR
        1 /usr/lib/systemd/systemd --   1
        2 [kthreadd]                    0
        4 [kworker/0:0H]                0
        6 [ksoftirqd/0]                 0
        7 [migration/0]                 0
        8 [rcu_bh]                      0



  • 相关阅读:
    Coalesce (MS SQL Server)——取指定内容(列)中第一个不为空的值
    SQL 函数NULLIF、NULL、ISNULL、COALESCE、IIF
    oracle 分组后取每组第一条数据
    oracle判断是否包含字符串的方法
    Oracle 查询字段不包含多个字符串方法
    [oracle] to_date() 与 to_char() 日期和字符串转换
    Oracle中保留两位小数
    Oracle 树操作、递归查询(select…start with…connect by…prior)
    联合查询更新表数据
    WCF 之 生成元数据和代理
  • 原文地址:https://www.cnblogs.com/l10n/p/9530408.html
Copyright © 2011-2022 走看看