zoukankan      html  css  js  c++  java
  • 读Windows核心编程-5-作业

    作业(Job)

    有时候需要把一些进程集中管理,如终止一个进程以及它产生的子进程,但由于Windows并没有维护进程间父子关系,所以除非进程本身以某种方式记录这些信息,否则很难做到管理这种父子进程树。而作业(job)恰好能解决这一问题。

    Job就像是一个"沙箱"或者进程容器,不仅能将多个进程放在一起管理,还能对其包含的进程施加额外的限制,例如:作业中的进程能使用的CPU时间,是否能注销,是否能方位用户对象等。

    相关函数

    IsProcessInJob: 判断进程是否属于某个已有的Job

    CreateJobObject:创建作业

    SetInformationJobObject:对作业及其中的进程施加限制,可能的安全限制见下表

    AssignProcessToJobObject:将进程放入指定的Job,注意,已经在某个Job中的进程不能重新制定,也不能将它从该Job中移除,这样的安全机制能保证进程不能脱离对其施加的安全限制。

    CloseHandle关闭Job句柄时不会导致Job中的进程结束,只是Job对象添加了删除标志,Job会等待其中所有的进程结束,才被删除。

     

    SetInformationJobObject

    限制类型

    参数

    描述

    基本限额

    JobObjectBasicLimitInformation

    防止Job中的进程独占系统资源

    扩展基本限额

    JobObjectExtendedLimitInformation

    同上

    基本的UI限制

    JobObjectBasicUIRestrications

    防止进程更改用户界面

    安全限额

    JobObjectSecurityLimitInformation

    防止进程访问安全资源(文件,注册表)

     

    TerminatebObject:终止job中所有的进程,并设置同一返回值

    QueryInformationJobObject:查询job中的进程信息以及相应的限制

     

     

  • 相关阅读:
    docker pull配置代理方法
    docker配合ssh管道跨主机传输镜像
    Java面向对象详解
    云服务器的公网IP和内网IP的区别
    开启 kubectl 命令的自动补全功能
    Vue+Openlayers实现绘制线段并测量距离显示
    Vue+Openlayers+elradio实现切换地图显示
    koa使用swagger自动生成接口文档
    什么是低代码
    前后端统一接口的响应参数数据结构
  • 原文地址:https://www.cnblogs.com/dlbrant/p/3163248.html
Copyright © 2011-2022 走看看