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



我有一个控制台应用程序用于以下测试目的:

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中是否可行吗?

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

如果您在while循环中调用它,它会告诉您更新程序是否正在运行。

两个应用程序之间的通信不容易

一个建议是:当控制台Updater启动时,在文件夹C:Tempstoken.txt中创建一个文件。然后,如果控制台EndlessLoopC:Temps中检测到文件名为token.txt,则暂停EndlessLoop

最新更新