zoukankan      html  css  js  c++  java
  • 第五章 作业

    https://msdn.microsoft.com/zh-cn/library/windows/desktop/ms684161(v=vs.85).aspx
    http://blog.csdn.net/ddupd/article/details/26962039
    
    //1.
    (A):windows 提供了一个作业内核对象,允许我们将进程组合在一起来限制进程能够做什么
    (B):如果一个进程已与一个作业关联,就无法将此进程或其子进程从作业中除去,一旦进程已属于作业的一部分,就不能在移动到另一个作业中,
    	当作业中的进程生成了子进程,这个子进程也会自动属于这个作业(可以通过设置一系列操作来避免子进程的这个行为)
    
    //2.
    IsProcessInJob 验证进程是否在一个现有作业中
    CreateJobObject 创建一个作业内核对象
    OpenJobObject 打开一个作业内核对象
    
    //3.
    创建好一个作业之后,可以为其中的进程添加如下限制:	SetInformationJobObject	第二个参数							第三个参数
    (A):基本限额,用于防止作业中的进程独占系统资源								JobObjectBasicLimitInformation		JOBOBJECT_BASIC_LIMIT_INFORMATION
    (B):扩张限额,用于防止作业中的进程独占系统资源								JobObjectExtendedLimitInformation	JOBOBJECT_EXTENDED_LIMIT_INFORMATION
    (C):基本UI限制,用于防止作业内的进程更改用户界面							JobObjectBasicUIRestrictions		JOBOBJECT_BASIC_UI_RESTRICTIONS
    (D):安全限额,用于防止作业内的进程访问安全资源(文件、注册表子项等)			JobObjectSecurityLimitInformation	JOBOBJECT_SECURITY_LIMIT_INFORMATION
    https://msdn.microsoft.com/en-us/library/windows/desktop/ms686216(v=vs.85).aspx
    
    SetInformationJobObject 向作业施加限制
    BOOL
    WINAPI
    SetInformationJobObject(
    __in HANDLE hJob,
    __in JOBOBJECTINFOCLASS JobObjectInformationClass,
    __in_bcount(cbJobObjectInformationLength) LPVOID lpJobObjectInformation,
    __in DWORD cbJobObjectInformationLength
    );
    
    //4.
    AssignProcessToJobObject 将进程放入作业
    TerminateJobObject 杀死作业中所有进程
    QueryInformationJobObject 查询作业中的限制,还可以获取作业的统计信息
    
    //5.
    //(与作业不相关)
    GetProcessIoCounters 可以用于获取进程I/O使用信息
    GetProcessTimes 可以用于获取进程CUP占用信息
    

      

  • 相关阅读:
    几种 HtmlEncode 的区别
    Javascript 编程风格
    asp.net ckeditor 无法获取值
    Silverlight:Deep Zoom 文件格式概述
    js阻止浏览器的默认行为以及停止事件冒泡(用JQuery实现回车提交,兼容IE、FF浏览器)
    什么是 HTTP Headers?
    ServerVariables
    SQL Server 查询不重复id的数据记录
    因为安全原因,文件不可浏览. 请联系系统管理员并检查CKFinder配置文件
    浏览器鼠标手势原理简析
  • 原文地址:https://www.cnblogs.com/szn409/p/8379443.html
Copyright © 2011-2022 走看看