• linux之进程管理(二)


    一、查看进程

    ps   aux

    查看系统所有的进程数据

    ps   -lA

    查看所有系统的数据

    ps   axjf

    连同部分进程树状态

    ps参数

    -A   显示所有进程,等效 -e

    -a   不与terminal有关的所有进程

    -u   有效用户相关的进程

    -f    更详细的输出进程数据

    -l      仅查看自己bash的相关进程

    j      工作的格式

    l      较详细的将PID的信息列出

    x      较完善的输出信息(一般与-a一起使用)

    eg:

    我们可以看到有很多标志,它们具体的意思是什么呢?

    F  ===>   代表这个进程的权限

    1表示此进程仅仅可以复制(fork),而不可执行(exec)

    4表示此进程的权限为root

    S  ===>   代表这个进程的状态

    R表示该进程正在运行中(Running)

    S表示该进程处于睡眠状态(可被唤醒)

    D表示该进程处于睡眠状态(不可被唤醒)

    T表示该进程处于停止状态

    Z表示该进程处于僵尸状态(进程已被终止,却无法被删除在内存外,CMD后面跟着<defunct>)

    C  ===>   表示CPU使用率

    PRI/NI  ===>   进程优先级(数值越小表示优先级越高)

    ADDR  ===>   该进程所在内存位置

    SZ  ===>   该进程占用内存大小

    WCHAN  ===>   该进程是否处于运行状态

    TTY  ===>   登录者的终端机位置(pts/n表示远程登录)

    TIME  ===>   使用掉的CPU时间

    CMD  ===>   造成此程序触发该进程的命令

    使用ps   aux后会显示如下内容

    其中,各字段的意义如下:

    USER  ===>   该进程所属用户

    PID  ===>   进程唯一标识符

    %CPU  ===>   使用掉的CPU资源

    %MEM  ===>   使用掉的物理内存

    VSZ  ===>   该进程使用掉的虚拟内存量

    RSS  ===>   该进程占用的固定内存量

    TTY  ===>   表示该进程所属终端机(pts/0表示是远程登录所设进程)

    STAT  ===>   进程状态(同上)

    START  ===>   该进程被触发启动的时间

    TIME  ===>   该进程实际使用CPU运行的时间

    COMMAND  ===>   该进程的实际命令

    pstree 以进程树的形式显示所有进程

    参数列表

    -A: 各进程树之间的连接以ASCII码字符来连接

    -U:各进程树之间的连接以utf8字符来连接,某些终端可能会有错误

    -p:同时列出每个进程的PID

    -u: 同时列出每个进程的所属账号名称

    -c: 不使用精简法显示进程信息,即显示的进程中包含子进程和父进程

    -n: 根据进程 PID 号来排序输出,默认是以程序名排序输出的

    eg:

    top  动态查看进程的变化

    -d  ===>   后面接妙数,指明整个进程界面的更新时间

    -b  ===>   以批次的方式执行top

    -n  ===>   与-b搭配,需要进行几次的top输出结果

    -p  ===>   制定某些个PID来进行检测

    运行期间参数

    ?  ===>   帮助

    P  ===>   以CPU使用资源排序

    M  ===>   以内存使用资源排序

    N  ===>   以PID排序

    T  ===>   以使用CPU累计时间排序

    k  ===>   给予某个PID一个信号

    r  ===>   给予某个PID重新制定一个nice值

    q  ===>   退出top功能界面

    二、进程的管理

    进程是通过信号量来进行管理的,那么有多少信号量呢?我们可以通过

    kill   -l

    命令查看

    eg:

    那么如何传递信号量给某个进程呢

    kill   -signal   PID

    例如我们要杀掉某个进程

    可以看到,top进程是被另一个终端给杀死的

    killall   -[iTe]   [cmd]

    根据命令名称(而不是PID或job number)来给予信号量

    参数:

    -i  ===>   交互式,会提醒用户

    -e  ===>   后面接的命令要一致,但整个完整的命令不能超过15个字符

    -I  ===>   忽略大小写,可能带参数

    eg:

    三、进程优先级

    进程的优先级是通过Priority与Nice值确定的

    在进程信息中分别由PRI   NI给出,但是PRI是系统内核自动调整的,我们用户是无法设置的。这时候,我们只能通过调整Nice的值来调整优先级了。一般来说

    PRI(new) = PRI(old) + Nice

    注意:

    1.并不是你设置Nice为多少,系统就会给定PRI = PRI + Nice了,者需要你设置合理,并且通过系统的审核

    2.nice的值的范围为 -20 ~19(值越小优先级越高)

    3.root用户可以调整任何用户包括自己的Nice值(-20~19)

    4.一般用户只能调整自己的Nice值(0~19)

    5.一般用户只能给自己的Nice值增大(比如第一次为5,第二次只能大于5)。

    使用方法

    1.一开始执行程序就给予一个特定的Nice值

    格式:

    nice   -n   [-19~20]  command

    eg:

    2.调整某个已经存在的PID的Nice的值

    格式:

    renice  [number]  PID

    eg:

  • 相关阅读:
    到达波密
    福建
    到达拉萨
    樟木半天游
    修改控制寄存器GPBCON
    WINCE实现屏幕旋转的方法
    6410主频
    如何解决触摸屏抖动问题
    视频格式D1
    安家了
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700498.html
Copyright © 2020-2023  润新知