zoukankan      html  css  js  c++  java
  • linux进程管理

    1.进程的组成

    一个进程包含内核中的一部分地址空间和一系列数据结构。其中地址空间是内核标记的一部分内存以供进程使用,而数据结构则用来纪录每个进程的具体信息。

    最主要的进程信息包括:

    • 进程的地址空间图
    • 进程当前的状态( sleeping、stopped、runnable 等)
    • 进程的执行优先级
    • 进程调用的资源信息
    • 进程打开的文件和网络端口信息
    • 进程的信号掩码(指明哪种信号被屏蔽)
    • 进程的属主

    PID:进程ID

    每一个进程都会从内核获取一个唯一的ID值。绝大多数用来操做京城的命令和系统调用,都需要PID

    指定操作的进程对象。

    PPID:父进程ID

    在unix和linux系统中,一个已经存在的进程必须克隆它自身来创建一个新的进程。当新的进程克隆后,最初的进程便作为父进程存在。

    UID&EUID:真实用户ID和有效用户ID

    一个进程的 UID 是其创建者的身份标志(也是对其父进程 UID 的复制)。通常只有进程的创建者和超级用户才有操作该进程的权限。

    Niceness

    一个进程的计划优先级决定了它能获取到的 CPU 时间。内核有一个动态的算法来计算优先级,同时也会关注一个 Niceness 值,来决定程序运行的优先顺序。

    二.信号

    信号属于进程级别的中断请求。它们可以作为进程间通信的手段,或者由终端发送以杀死,中断,挂起某个进程。

    三。kill命令

    kill命令常用来终止某个进程,它可以向进程传递信号(默认为TERM)

    不带任何数字(信号)选项的kill命令1并不能保证进程被杀死,因为kill命令默认发送term信号,而term是可以被捕获,屏蔽或忽略的。

    可以使用kill -9 pid命令强制杀死进程(9代表KILL信号,不可被捕获,屏蔽或者忽略)。

    KILL命令需要指定进程的PID号

    pgrep 命令可以通过程序名称(或其他属性如 UID)筛选进程号,pkill 命令可以直接发送指定信号给筛选结果。
    如 sudo pkill -u ben
    该命令将发送 TERM 信号给所有属于用户 ben 的进程。

    killall 命令可以通过程序名称杀死指定进程的所有实例。如:

    sudo killall apache2

     进程管理命令

      pstree

        通过树形结构显示进程关系

        yum install -y psmisc -y   安装命令

      ps

        查看进程状态--当前运行状态;(这一刻)

        PID进程ID

        TTY启动该进程的终端是谁  pts

        TIME进程累计再CPU上运行的时长

        CMD启动该进程命令程序

      ps的常用组合:

      ps -aux

        USER 进程所属用户

        PID

        

        %CPU
        %MEM
        VSZ virtual memory size 虚拟内存大小;进程自己再内存中真是占用的线性地址空间大小
      RSS 常驻内空间(不可以进行内存交换 -- swap)
        TTY

        STAT

    top命令

      显示进程信息     top

      显示完整命令    top -c

      以批处理模式显示程序信息     top -b

      以累积模式显示程序信息    top  -s

      设置信息更新时间    top -d  3

      显示指定进程信息  top  -p  139     //显示进程号为139的进程信息,cpu

    ,内存占用率

      显示更新十次后退出   top  -n  10

      使用者将不能利用交谈式指令来对行程下命令  top -s

     

            

      

  • 相关阅读:
    Django REST Framework之版本控制
    Django REST Framework之频率限制
    webpack4进阶配置
    高阶函数map,filter,reduce的用法
    Vue+elementui 实现复杂表头和动态增加列的二维表格
    Pika源码学习--pika和rocksdb的对接
    Pika源码学习--pika的命令执行框架
    Pika源码学习--pika的PubSub机制
    Pika源码学习--pika的通信和线程模型
    pika源码学习--开篇
  • 原文地址:https://www.cnblogs.com/qhlove/p/11641912.html
Copyright © 2011-2022 走看看