我们需要弄清楚服务如何查看正在运行的 VB6 应用程序和/或其 DCOM 生成的 exe,并找出哪个 VB6 应用程序与哪个 DCOM exe 配合使用。 VB6 应用程序和生成的 exe 均位于同一服务器上。
我们有一个 VB6 应用程序,它通过 CreateObject() 调用生成一个 Bartender 实例(来自 Seagull Scientific)。在给定的服务器上,我们可能有十到二十个应用程序实例,每个实例代表仓库中的手持式射频枪客户端。这些 VB6 应用程序中 95% 或更多都会有自己的 Bartender。
由于我们无法控制的情况,我们的 VB6 实例之一将被随机杀死,就像您使用任务管理器杀死它一样。这使得调酒师仍然活着并消耗资源。在几个小时或几天的时间里,大约有五十个调酒师被杀后,这些孤儿调酒师变得对资源的贪婪程度足以让服务器崩溃。
我们正在尝试开发一个观察者服务来检测哪些调酒师仍然处于连接状态,因此这项新服务可以杀死孤立的调酒师。我们试图在不更改 VB6 应用程序的情况下实现这一目标,但如果有必要,我们将修改我们的应用程序。
我认为这routine http://www.vbrad.com/article.aspx?id=73,恰如其分地命名为“谁是你的爸爸”,可能对你有用。它找出谁产生了这个过程。它可能无法解决您的全部问题,但这是一个开始。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)