似乎有与此相关的问题,但我没有看到涉及实际的 .Net Process 对象。目前,我正在使用 Process 对象来启动外部可执行文件并在 C# 中从中读取数据。对于我必须监控数据的每个收集点,这种情况都会发生一次。但是,当我必须监视 5 个或更多收集点时,我的第五个收集点的进程在我可以从中收集任何数据之前被终止。下面列出了用于启动 Process 对象的代码。任何帮助表示赞赏。
procCollectionMonitor = new Process();
procCollectionMonitor.StartInfo.FileName = options.CollectionMonitorProcessPath;
procCollectionMonitor.StartInfo.WorkingDirectory = System.IO.Path.GetDirectoryName(options.CollectionMonitorProcessPath);
procCollectionMonitor.StartInfo.ErrorDialog = false;
procCollectionMonitor.StartInfo.UseShellExecute = false;
procCollectionMonitor.EnableRaisingEvents = true;
procCollectionMonitor.Exited += spawn_Exited;
procCollectionMonitor.Start();
此应用程序是一个 Windows 服务,在 Windows Server 2008 R2 上运行。如前所述,此问题仅在启动 5 个或更多收集点时才会出现。需要 4 个或更少的实例没有问题。