在创建作业对象时,设置的PerProcessUserTimeLimit是指进程在运行时,如果使用CPU的时间超过指定时间就会停止吗?我看《WINDOWS核心编程》是这样理解的,但是我在程序中实现时发现进程并没有停止,还请高人讲解SECURITY_ATTRIBUTES sa;
STARTUPINFO si={sizeof(si)};
PROCESS_INFORMATION pi;void main()
{
CreateProcess("Child.exe",NULL,&sa,&sa,false,CREATE_SUSPENDED,NULL,NULL,&si,&pi);
HANDLE hjob=CreateJobObject(&sa,"test");
JOBOBJECT_BASIC_LIMIT_INFORMATION jb;
jb.LimitFlags=JOB_OBJECT_LIMIT_PROCESS_TIME;
jb.PerProcessUserTimeLimit.QuadPart=10000000;
AssignProcessToJobObject(hjob,GetCurrentProcess());
ResumeThread(pi.hThread);
}
STARTUPINFO si={sizeof(si)};
PROCESS_INFORMATION pi;void main()
{
CreateProcess("Child.exe",NULL,&sa,&sa,false,CREATE_SUSPENDED,NULL,NULL,&si,&pi);
HANDLE hjob=CreateJobObject(&sa,"test");
JOBOBJECT_BASIC_LIMIT_INFORMATION jb;
jb.LimitFlags=JOB_OBJECT_LIMIT_PROCESS_TIME;
jb.PerProcessUserTimeLimit.QuadPart=10000000;
AssignProcessToJobObject(hjob,GetCurrentProcess());
ResumeThread(pi.hThread);
}
解决方案 »
- 不能同时导入操作ACCESS数据库的ADO库和操作WORD文档的MsWord库
- 获取CEdit控件行数问题
- 请问VC++里的pascal关键词修饰的函数与不用它的有什么区别阿?
- 在鼠标钩子中得到的窗口句柄,怎么用SendMessage传给我的程序?
- 用colcodialog得到COLORREF类型的值,怎么转道rgb呢?
- 如何获取鼠标坐标??
- 用什么命令能使按钮不可见?
- CDialog中的edit控件希望在按enter时不返回怎么做?======在线求救======
- 3Dmax2010总是报没有对应文件的驱动程序的错
- 请问如何注册fxcore.dll这个文件????
- VC下如何取得当前网络的连接状态
- 怎么使Date Time Picker控件实时更新?
关于时间问题是这样,你打开的只是用户级别的程序,系统在将其挂起之后,并不计算时间,也就是说你在使用了CREATE_SUSPENDED之后的一段时间系统是不计算的,关于这个问题现在也没有很好的解决方法。