gpt4 book ai didi

c# - 无法启动多个进程 (C#)

转载 作者:行者123 更新时间:2023-11-30 18:28:13 25 4
gpt4 key购买 nike

我无法从控制台应用程序成功启动多个进程。我有一个带有控制台应用程序 A 的 Visual Studio 解决方案,它必须启动另一个控制台应用程序 (B) 的多个实例。

B 在一个循环中运行,在进程参数中指定的端口上捕获传入的网络流量。

为了简化问题,我删除了所有网络逻辑并使其尽可能基本,但我仍然遇到同样的问题。

A 的代码,其中 Test.exe 是控制台应用程序 B:

   static void Main(string[] args)
{
try
{
for (int i = 0; i < 5; i++)
{

System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo { FileName = "Test.exe" });

}

}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}

}

B 的代码:

    static void Main(string[] args)
{
int counter = 0;
while (Console.KeyAvailable == false || Console.ReadKey().Key != ConsoleKey.Escape)
{
Console.WriteLine("" + counter);
System.Threading.Thread.Sleep(1000);
counter++;
}
Console.ReadLine();
}

一旦我在 Visual Studio 调试中运行控制台应用程序 A,A 会按预期弹出,但只有一个 B 窗口弹出开始按指定计数。但是,如果我查看我的任务管理器,我可以看到实际上有两个 Test.exe 正在运行,其中一个使用 116K 内存,另一个使用 180,000K 内存。

一旦计数器达到 15,它就会关闭并打开两个新窗口,这两个窗口都从 0 开始计数。这种行为会继续,每次计数器达到 15 时都会打开 B 的新实例,直到 5 个实例按照 A 中指定的方式运行。

显然这种行为不是我想要的,我希望 A 立即启动 B 5 次(在本例中)而不等待进程退出。

最佳答案

在重新安装 .net 并删除我不再需要的某些功能后,它终于可以按预期工作了。启动 50 个实例没有问题,奇怪的内存使用情况也不再明显。

罪魁祸首是 Windows Phone SDK 或 Windows Azure for VS。

关于c# - 无法启动多个进程 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25370795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com