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

      

  • 相关阅读:
    shell中单引号、双引号、反斜杠简说
    shell脚本
    求素数
    SqlBulkCopy高效写入数据库Demo
    地图面面观之百望山
    FileUpload控件客户端验证
    如何将shapefile进行拆分
    Python 字符串操作
    如何重装oracle
    资料
  • 原文地址:https://www.cnblogs.com/szn409/p/8379443.html
Copyright © 2011-2022 走看看