• 第五章 作业


    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占用信息
    

      

  • 相关阅读:
    Python札记 装饰器
    Python与SQLite日期时间函数的使用
    Python札记 文件校验
    Python札记 参数魔法
    JAVA操作图片裁切与缩放的一个工具类
    java对象的序列化和反序列化
    Apache MINA 初识
    在Java 7里如何对文件进行操作
    Calendar时间获取明细
    使用ViewPager实现欢迎页面左右拖动效果
  • 原文地址:https://www.cnblogs.com/szn409/p/8379443.html
Copyright © 2020-2023  润新知