zoukankan      html  css  js  c++  java
  • ps 命令的十个简单用法【转】

    注记

    ps 命令有两种不同的语法风格 —— BSD 与 UNIX 两种风格。新手常常对这两种形式产生误解,因此我们有必要在这里作一个简单的说明:

    ps aux 与 ps -aux 是不同的,例如 -u 参数表示打印进程的 uid,而参数 u 表示显示进程的详细信息。

    • BSD 格式 —— 参数前面不加 -
    $ ps aux
    • UNIX/LINUX 格式 —— 参数前面通常要加 -
    $ ps -aux

    两种格式是允许混用的,例如 ps ax -f,但本文主要展示UNIX风格。

    1. 查看所有进程

    $ ps ax
    $ ps -e

    加上 -f 或者 u 参数可以显示进程的详细信息

    $ ps aux
    $ ps -ef

    注:当用户名超过8个字符时,以uid显示;小于等于8字符时,以用户名显示。

    2. 显示某个用户的进程

    $ ps -f -u nova,neutron

    3. 通过进程名或者进程id显示进程

    $ ps -C neutron-server
    # -C 只能搜索名为neutron-server的进程(完全匹配),不能使用部分搜索或者通配符,例如 ps -C neutron 就不会显示neutron-server进程。因此部分匹配用 ps -ef | grep neutron
    
    $ ps -f -p 3150,7298,6544

    4. 利用 cpu 或者内存使用量对进程排序

    $ ps aux --sort=-pcpu,+pmem
    # 首先以 cpu 使用量排序呢, 如果 cpu 使用量相同,则以内存使用量排序。
    $ ps aux --sort=-pcpu,+pmem | head 5

    5. 显示 ASCII 进程树

    $ ps -ef --forest
    $ ps -f --forest -C neutron-server

    6. 显示父进程的子进程

    $ ps -o pid,uname,comm -C neutron-server
    28208 hebin    neutron-server
    28221 hebin    neutron-server
    28222 hebin    neutron-server
    28223 hebin    neutron-server
    28224 hebin    neutron-server
    28225 hebin    neutron-server
    
    $ ps --ppid 28208
     PID TTY          TIME CMD
    28221 pts/12   00:00:06 neutron-server
    28222 pts/12   00:00:06 neutron-server
    28223 pts/12   00:01:02 neutron-server
    28224 pts/12   00:00:52 neutron-server
    28225 pts/12   00:00:28 neutron-server

    7. 显示进程的线程

    $ ps -ef | grep rock-mon
    root     14447     1  0 12:47 ?        00:02:01 /usr/bin/python /usr/bin/rock-mon
    root     32279 31077  0 23:03 pts/0    00:00:00 grep --color=auto rock-mon
    
    $ ps -p 14447 -L
      PID   LWP TTY          TIME CMD
    14447 14447 ?        00:00:00 rock-mon
    14447 14480 ?        00:00:09 rock-mon
    14447 14483 ?        00:00:00 rock-mon
    14447   597 ?        00:00:00 rock-mon
    14447   759 ?        00:00:00 rock-mon

    8. 改变显示的字段

    $ ps -e -o pid,uname,pcpu,pmem,comm
    $ ps -e -o pid,uname=USERNAME,pcpu=CPU_USAGE,pmem,comm

    9. 显示进程已运行的时间

    $ ps -e -o pid,comm,etime

    10. 用ps命令实时显示进程信息

    $ watch -n 1 'ps -e -o pid,uname,cmd,pmem,pcpu --sort=-pmem,-pcpu | head -15'

    ==============文章出处 ================

    https://www.cnblogs.com/fakerbin/p/6513365.html

  • 相关阅读:
    [Zabbix5.0]Transaction check error: file /etc/my.cnf from install of Percona-Server-shared-56-5.6.48-rel88.0.1.el7.x86_64 conflicts with file from package mysql-community-server-5.7.30-1.el7.x86_64
    [CentOS7]Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
    [CentOS7]YUM只下载不安装
    [CentOS7]expect传参
    [CentOS7]查询FCSAN WWN
    [Docker]WARNING: IPv4 forwarding is disabled. Networking will not work.
    [Docker]CentOS8.2安装 Docker-compose
    [CentOS8]安装vmware tools
    [CentOS8]弹出CDROM
    书单
  • 原文地址:https://www.cnblogs.com/soldierback/p/10691810.html
Copyright © 2011-2022 走看看