• 进程管理-1


    一. 进程介绍

    程序:存放代码的文件=>静态

    进程:程序的运行过程=>动态

    同一个程序可能对应多个进程,父进程:程序运行时产生的第一个进程. 子进程:由父进程衍生的进程. 注意:如果父进程终止,子进程也会随之被终止.

    ps aux |grep nginx 查看nginx进程

      

    进程状态切换

       

    二. 查看进程

    ps aux 是常用组合,查看进程用户,pid,占用cpu百分比,占用内存百分比,状态,执行的命令等.

    -a 显示一个终端的所有进程

    -u 选择有效的用户id或者用户名

    -x 显示没有控制终端的进程,同时显示各个命令的具体路径.

     Linux下的进程状态

    ps aux查看进程结果显示

      

    查看进程树

    yum install -y psmisc-22.20-16.el7.x86_64#安装

    pstree pid号

    查看ppid 

    ps -elf 
    ps -elf |grep [v]im

    查看进程的pid

    pgrep 
    -a:查看进程的运行命令
    -l:查看进程名字
    -u:指定用户
    [root@oldboyedu ~]# pgrep sshd
    119346
    120226
    120254
    [root@oldboyedu ~]# pgrep -l sshd
    119346 sshd
    120226 sshd
    120254 sshd
    [root@oldboyedu ~]# pgrep -l -a sshd
    119346 /usr/sbin/sshd -D
    120226 sshd: root@pts/0
    120254 sshd: root@pts/1
     

    动态查看top(默认3秒刷新一次)

    1.top命令使用:

    -d:指定刷新时间
    -p:指定pid
    -u:指定用户
    -b:保存到文件中
    -n:指定次数

    top -d 1 1秒刷新一次

    top -d 1 -p 进程的pid号 查看指定某个进程

    top -d 1 -u 用户名 查看指定用户的进程

    top -b -n 2 > top.txt 将2次的top信息写入文件
     
    2.显示信息解释
    第一行:
    up 左边代表系统当前时间
    右边表示服务器运行了多长时间
    users #当前用户登录数
    load average: 0.86, 0.56, 0.78  #CPU1分钟,5分钟,15分钟的平均负载
    ps:
    平均负载是指,单位时间内,系统处于可运行状态和不可中断状态的平均进程数.
    第二行:
    Tasks:  93 total #总共多少个进程
    2 running #正在运行的进程数
    90 sleeping #睡眠状态的进程数
    0 stopped #停止的进程数
    0 zombie #僵尸进程数
     
    第三行:
    us #用户态进程占用cpu的百分比
    sys #内核态进程占用cpu的百分比
    ni  #表示优先被调度的进程占用cpu的百分比
    id  #cpu空闲的百分比
    wa #cpu等待IO的百分比
    hi #硬中断,处理硬件中断所占用CPU百分比
    si #软中断,处理软件中断所占用CPU百分比
    st #被偷走的cpu(虚拟机占用物理机CPU的百分比)
    中断:
    中断是系统用来影响硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处理程序来影响设备的请求.
    事实上,为了解决中断处理程序执行过长的和丢失中断的问题,Linux将中断处理过程分成了两个阶段:
    第一阶段:用来快速处理(硬中断)中断,它在中断禁止模式下运行,主要处理跟硬件紧密相关工作
    第二阶段:用来延迟处理第一阶段未完成的工作,通常以内核线程的方式运行
     
    第四行:内存
    KiB Mem : 2028116 total, 150780 free, 144108 used, 1733228 buff/cache
     
    第五行:swap虚拟内存
    KiB Swap: 2097148 total, 2097148 free, 0 used. 1645080 avail Mem
     
    第六行:
    PID(进程号) USER(用户)      PR  NI(进程优先级,nice值越低,表示优先级越高)    VIRT(虚拟内存)   RES(常驻内存)    SHR(共享内存) 
    ps:

    3. 使用快捷键对进程的显示方式进行控制.

    M 按照内存占用率从大到小排序
    P 按照cpu占用率从大到小排序
    N 按照PID从大到小排序

    配合R代表倒序

    f 自定义显示字段

    1 显示所有CPU的负载

    s 改变画面更新频率

    b 正在运行的进程高亮显示

    z 彩色

    shift + >    移动排序字段
    shift + <    移动排序字段

    k+pid号 杀掉进程

    4. 优先级设置

    nice值  -20~19   越小优先级越高  普通用户0-19

    nice -n -20 命令名

    renice 修改正在运行的进程优先级

    renice -n 5 PID  # 修改进程优先级

    5.kill给进程发送信号

    kill -l 列出所有的信号

    -1(hup):重新加载配置文件
    -2(int):中断,用于通知前台进程终止进程,等同于ctrl + c
    -3(quit):退出
    -9(kill):强制终止
    -15(term):默认信号,进程终止.与-9不同的是该信号可以被阻塞和处理,通常用来要求进程自己正常退出,如果进程终止不了,在使用-9.
    -18:重新唤起被暂停的进程
    -19:暂停进程
    -20:把进程放到后台并暂停
    根据进程名杀所有
    killall -9 进程名
    pkill -9 进程名
     
     

  • 相关阅读:
    C#的委托事件总结
    iOS的录屏功能
    Unity通过NTP获取网络时间
    Unity的弱联网Json数据传输
    Unity场景和代码合并以及UnityYAMLMerge的使用
    Unity学习--捕鱼达人笔记
    Yomob广告在cocos2dx安卓平台的Demo
    谷歌广告Admob在cocos2dx上通过回调实现底部Banner
    JZ2440 裸机驱动 第13章 LCD控制器(2)
    JZ2440 裸机驱动 第13章 LCD控制器(1)
  • 原文地址:https://www.cnblogs.com/allenzhu128/p/13920455.html
Copyright © 2020-2023  润新知