繁体   English   中英

使用C#进程启动应用程序错误

[英]Startup application error using C# process

我想使用具有一定内存限制的Process启动应用程序。 我使用来自kernel32.dll的AssignProcessToJobObject方法来做到这一点。 我尝试启动消耗10 MB内存且1 MB内存限制的应用程序。 但是启动后,我看到一个对话框窗口,其中包含启动应用程序错误。 我该如何处理?

MSDN文章“ 作业限制和通知”描述了如何获取超出限制的通知。

请注意,此通知不是要终止该过程,而您必须自己做。 由于该进程是由您的主管程序而不是资源限制所杀死的,因此Windows不会弹出您要避免的对话框。

如果确实使用导致立即终止进程的“硬”限制,则仍可以检测到资源限制被触发。

作业对象记录所有与其相关联的流程(包括已终止的流程)的基本会计信息。 若要检索此会计信息,请使用QueryInformationJobObject函数。

但是,您将无法避免操作系统提供的对话框,该对话框限制了进程。 无论如何,这种核算似乎不适用于内存限制。 因此,您应该改用通知方案。

看一下JOBOBJECT_LIMIT_VIOLATION_INFORMATION结构。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM