C# 在其他控制台应用程序启动时暂停一个控制台应用程序

C# Pause one console application when other console application starts

我有一个用于测试目的的控制台应用程序,如下所示:

static void Main(string[] args)
{
    do
    {
        for (int i = 0; i < 10000000; i++)
        {
            Console.WriteLine("Doing some endless loop");
            Console.WriteLine(i.ToString());
        }
    } while (true);
}

如您所见,代码非常基础,我将其设置为无限循环以测试我想要实现的目标。

另一个控制台应用程序称为 "Updater",我想在 "Updater" 应用程序启动后暂停 "EndlessLoop" 控制台应用程序。

有谁知道这在 c# .NET 中是否可行?

2个应用程序之间的通信不方便

一个提议:当您的控制台 Updater 启动时,您会在文件夹 C:\Temps\token.txt 中创建一个文件。然后,如果您的控制台 EndlessLoopC:\Temps 中检测到文件名 token.txt,您将暂停 EndlessLoop

public static bool IsAppRunning()
{
    foreach (Process process in Process.GetProcesses())
    {
        if (process.ProcessName.Contains("Updater"))
        {
            return true;
        }
    }

    return false;
}

如果您在 while 循环中调用它,它会告诉您 Updater 是否 运行。