什么会导致进程停止重新创build?

什么会导致进程停止重新创build?,第1张

概述什么会导致进程停止重新创build?

我们有一个用C ++编写的服务,用Cli通过.NET编写一些代码。 由于第三方库在数据驱动的基础上覆盖了内存,因此我们被迫将主处理代码去除为单独的代码path,其使用如下。 当使用特定的命令行参数运行服务EXE时,我们可以将整个服务作为控制台应用程序运行,绕过服务部分或作为仅处理的控制台应用程序。 在主要 *** 作模式中,服务正常启动,并使用createprocess使用命令行参数启动自己的可执行文件,从而跳过服务初始化并跳至处理部分。 服务线程然后等待subprocess完成并根据需要重复此过程。

我们遇到的问题是1700subprocess运行后服务无法启动自身的命令行版本。 如果我们运气不好,服务也拒绝重启。 当服务拒绝重新启动时,没有相关进程在内存中。 在服务失败后以命令行方式运行服务时,将继续运行1700次subprocess,直到失败。 需要重新启动系统才能恢复服务/命令行进程的工作。 我们也得到错误322 – “目标设备没有足够的资源来完成 *** 作”。 在事件日志中。 我们已经删除了一个Job子内核对象,它将subprocess和父进程分组为一个单元,这样当你终止父进程时,subprocess也终止。 这增加了几千的1700限制。

windows有没有理由记得一个进程运行,并在重新运行时惩罚这个进程? 看起来,在不同的桌面或用户下运行的进程在这个问题上被视为单独的进程。 当服务失败时,命令行版本可以运行,并将工作一段时间。 这是否与桌面堆有关? 我们同时在内存中永远不会有两个以上的进程。 什么types的窗口function可以对进程产生持久的影响,下一次在特定的桌面/用户下运行?

指定的模块无法find0x8007007E

在WCF和windows服务中下载大文件

最佳视觉工作室像linux开发的工具

为什么我不能添加WORKGROUP ..作为sql Server中的用户?

windows 10的开始菜单是否支持自定义图标文件夹?

如何获得button上的popupbutton,点击uwp中的另一个popupbutton

将数据传递给自定义windows服务

.NET和本机C ++应用程序之间进行通信的最佳方式

是否有可能在.NET应用程序中对用户的dpi设置做出反应

线程在被告知这样做的时候没有睡觉

听起来你正在泄漏在父进程和子进程之间共享的内核资源。 也许在每次启动一个子进程时,父进程会创建一个资源句柄,并将其传递给(共享的)子进程,期望孩子关闭它,但是不能根据需要自行关闭它?

SysInternals实用程序可以帮助您诊断此问题。 HandleEx或Process Explorer启动,然后使用Process Monitor进行深入研究。

总结

以上是内存溢出为你收集整理的什么会导致进程停止重新创build?全部内容,希望文章能够帮你解决什么会导致进程停止重新创build?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1287043.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存