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
中创建一个文件。然后,如果您的控制台 EndlessLoop
在 C:\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 是否 运行。
我有一个用于测试目的的控制台应用程序,如下所示:
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
中创建一个文件。然后,如果您的控制台 EndlessLoop
在 C:\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 是否 运行。