zoukankan      html  css  js  c++  java
  • linux每日命令(2):ps命令

    ps命令真是我比较常用的命令了,只是也没咋仔细研究过,最大的用处就是写代码的时候,起了多进程,就会占用多个进程,如果程序异常了,进程确没有kill掉,那么再启动程序就会报错

    正常起项目

    如果进程被占用了,就会发生:

    这时候我就会用到ps 去查哪些进程被占用了,然后给它kill 掉

    kill 掉无用的进程

    这就是我平时的用处了,可是ps 仔细研究一下,用处还是很多的

    Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令

    要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。

    一.命令格式:

    ps [参数]

    二.命令功能:

    用于显示当前进程 (process) 的状态。

    三.命令参数:

    参数描述
    -A 列出所有的行程
    -e 等于“-A”
    -a 显示现行终端机下的所有进程,包括其他用户的进程;
    -u 以用户为主的进程状态 ;
    x 通常与 a 这个参数一起使用,可列出较完整信息。
    -w 显示加宽可以显示较多的资讯
    -au 显示较详细的资讯
    -aux 显示所有包含其他使用者的行程
    -f 做一个更为完整的输出。

    四. 使用实例

    1.显示指定用户信息

    ps -u root

    2.显示所有进程信息,连带命令行

    3.ps 与grep 常用组合用法,查找特定进程

    ps -ef|grep uwsgi
    [root@localhost autoAweme]# ps -ef|grep uwsgi
    root      30568    795  0 12月01 ?      00:00:19 /home/hc/project/envs/pgc/bin/uwsgi --ini /home/hc/project/pgc.ini
    root      30578  30568  0 12月01 ?      00:00:00 /home/hc/project/envs/pgc/bin/uwsgi --ini /home/hc/project/pgc.ini
    root      66069    795  1 12:07 ?        00:04:29 /home/hc/project/envs/autoAweme/bin/uwsgi --ini /home/hc/project/autoAweme.ini
    root      66096  66069  0 12:07 ?        00:00:01 /home/hc/project/envs/autoAweme/bin/uwsgi --ini /home/hc/project/autoAweme.ini
    root      80022  86053  0 16:06 pts/1    00:00:00 grep --color=auto uwsgi

    4.将目前属于您自己这次登入的 PID 与相关信息列示出来

    ps -l

    说明:

    各相关信息的意义:

    标志意义
    F 代表这个程序的旗标 (flag), 4 代表使用者为 super user
    S 代表这个程序的状态 (STAT),关于各 STAT 的意义将在内文介绍
    UID 程序被该 UID 所拥有
    PID 就是这个程序的 ID !
    PPID 则是其上级父程序的ID
    C CPU 使用的资源百分比
    PRI 指进程的执行优先权(Priority的简写),其值越小越早被执行;
    NI 这个进程的nice值,其表示进程可被执行的优先级的修正数值。
    ADDR 这个是内核函数,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 "-"
    SZ 使用掉的内存大小
    WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作
    TTY 登入者的终端机位置
    TIME 使用掉的 CPU 时间。
    CMD 所下达的指令为何

    5.列出目前所有的正在内存当中的程序

    ps aux

    结果

    [root@localhost autoAweme]# ps aux
    USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root          1  0.0  0.1 125804  4260 ?        Ss   11月30   0:15 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
    root          2  0.0  0.0      0     0 ?        S    11月30   0:00 [kthreadd]
    root          3  0.0  0.0      0     0 ?        S    11月30   0:56 [ksoftirqd/0]
    root          5  0.0  0.0      0     0 ?        S<   11月30   0:00 [kworker/0:0H]
    root          7  0.0  0.0      0     0 ?        S    11月30   1:01 [migration/0]
    root          8  0.0  0.0      0     0 ?        S    11月30   0:00 [rcu_bh]
    root          9  0.3  0.0      0     0 ?        S    11月30  19:02 [rcu_sched]

    说明

    标志意义
    USER 该 process 属于那个使用者账号的
    PID 该 process 的号码
    %CPU 该 process 使用掉的 CPU 资源百分比
    %MEM 该 process 所占用的物理内存百分比
    VSZ 该 process 使用掉的虚拟内存量 (Kbytes)
    RSS 该 process 占用的固定的内存量 (Kbytes)
    TTY 该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
    STAT 该程序目前的状态
    START 该 process 被触发启动的时间
    TIME 该 process 实际使用 CPU 运作的时间
    COMMAND 该程序的实际指令

    感谢https://www.cnblogs.com/huchong/p/10065246.html

  • 相关阅读:
    一种分布式框架设计(四)
    读书笔记-《拆掉思维里的墙》
    [JS前端开发] js/jquery控制页面动态载入数据 滑动滚动栏自己主动载入事件
    Qt 5.3更新无数,更改C++控制台输出最为赞
    Guava ---- Ordering排序工具
    codeforces 558D Guess Your Way Out! II 规律
    Linux shell之打印输出
    细说Oracle中NULL值
    责任成本汇总表
    NSOperationQueue小结
  • 原文地址:https://www.cnblogs.com/zzy-9318/p/10066839.html
Copyright © 2011-2022 走看看