读Windows核心编程-5-做业

做业(Job)

有时候须要把一些进程集中管理,如终止一个进程以及它产生的子进程,但因为Windows并无维护进程间父子关系,因此除非进程自己以某种方式记录这些信息,不然很难作到管理这种父子进程树。而做业(job)刚好能解决这一问题。 安全

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

相关函数

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

CreateJobObject:建立做业 orm

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

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

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

 

SetInformationJobObject it

限制类型io

参数table

描述

基本限额

JobObjectBasicLimitInformation

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

扩展基本限额

JobObjectExtendedLimitInformation

同上

基本的UI限制

JobObjectBasicUIRestrications

防止进程更改用户界面

安全限额

JobObjectSecurityLimitInformation

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

 

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

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

相关文章
相关标签/搜索