读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中的进程信息以及相应的限制
读Windows核心编程-5-作业的更多相关文章
- 回忆读windows 核心编程
看<windows 核心编程> 第五版到纤程了,下一章节即将介绍内存体系编程.如果做window平台下的开发,我感觉此书一定要读.记得开始讲解了window的基础,然后讲解内核对象.内核对 ...
- 《Windows核心编程》读书笔记 上
[C++]<Windows核心编程>读书笔记 这篇笔记是我在读<Windows核心编程>第5版时做的记录和总结(部分章节是第4版的书),没有摘抄原句,包含了很多我个人的思考和对 ...
- 【Windows】windows核心编程整理(上)
小续 这是我11年看<windows核心编程>时所作的一些笔记,现整理出来共享给大家 windows核心编程整理(上) windows核心编程整理(下) 线程的基础知识 进程是不活泼的,进 ...
- C++Windows核心编程读书笔记
转自:http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5%9B%AD%E6%96%87/71405.shtml "C++Windows核心编程读书笔 ...
- 【转】《windows核心编程》读书笔记
这篇笔记是我在读<Windows核心编程>第5版时做的记录和总结(部分章节是第4版的书),没有摘抄原句,包含了很多我个人的思考和对实现的推断,因此不少条款和Windows实际机制可能有出入 ...
- windows核心编程 - 线程同步机制
线程同步机制 常用的线程同步机制有很多种,主要分为用户模式和内核对象两类:其中 用户模式包括:原子操作.关键代码段 内核对象包括:时间内核对象(Event).等待定时器内核对象(WaitableTim ...
- windows核心编程---第九章 同步设备IO与异步设备IO之同步IO
同步设备IO 所谓同步IO是指线程在发起IO请求后会被挂起,IO完成后继续执行. 异步IO是指:线程发起IO请求后并不会挂起而是继续执行.IO完毕后会得到设备的通知.而IO完成端口就是实现这种通知的很 ...
- windows核心编程---第八章 使用内核对象进行线程同步
使用内核对象进行线程同步. 前面我们介绍了用户模式下线程同步的几种方式.在用户模式下进行线程同步的最大好处就是速度非常快.因此当需要使用线程同步时用户模式下的线程同步是首选. 但是用户模式下的线程同步 ...
- 《Windows核心编程》第5版 学习进度备忘
学习资源:<Windows核心编程>第5版 知识基础支持: 本书与<Windows程序设计>第5版珍藏版结合很好,二者重叠内容不多,二者互补性强,而且相关方面的优秀书籍 跳过的 ...
随机推荐
- BAT的面试经验_摘抄
一.心态 心态很重要! 心态很重要! 心态很重要! 重要的事情说三遍,这一点我觉得是必须放到前面来讲. 找工作之前,有一点你必须清楚,就是找工作是一件看缘分的事情,不是你很牛逼,你就一定能进你想进的公 ...
- Centos安装lnmp环境
1:查看环境: [root@10-4-14-168 html]# cat /etc/redhat-release CentOS release 6.5 (Final) 2:关掉防火墙 [root@10 ...
- WCF Misconfiguration: Security Not Enabled
Abstract: No transport or message security has been defined. Explanation: Applications that transmit ...
- python实现监控URL的一个值小于规定的值--邮件报警
监控URL的一个值小于规定的值--邮件报警 #!/usr/bin/env python #-*- coding:utf-8 -*- __author__ = 'liudong' import urll ...
- asp.net LINQ连接数据库SQL执行数据的增加、修改、删除、查询操作
查询数据库中的数据 using System; using System.Collections.Generic; using System.Linq; using System.Web; using ...
- 有关Select option 元素
动态添加option元素以及option元素被选中方法: function getType() { ); shadowCoverTipAdd("加载中,请稍候.."); $.aja ...
- libpng安装与配置(Win7+VS2010)
一.下载 libpng:http://libmng.com/pub/png/libpng.html zlib:http://www.zlib.net/ IDE:VS2010 二.编译 将下载的两个zi ...
- [转载] Java高新技术第一篇:类加载器详解
本文转载自: http://blog.csdn.net/jiangwei0910410003/article/details/17733153 首先来了解一下字节码和class文件的区别: 我们知道, ...
- Pi# - Raspberry Pi GPIO Library for .NET
Project Description Pi# (pronounced “Pi Sharp”) is a library to expose the GPIO functionality of the ...
- c++总结01
今天编写了四个小程序分别是“石头剪刀布游戏”“数字之间加空格输出”“蛇形矩阵”“螺旋矩阵”. 通过编写石头剪刀布代码 熟悉了switch语句和if语句的使用,同时也运用了do..while语句,其中 ...