C # Приостановить одно консольное приложение при запуске другого консольного приложения - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть одно консольное приложение для тестирования, например:

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», и я хотел бы приостановить консольное приложение «EndlessLoop» после запуска приложения «Updater».

Кто-нибудь знаетесли это выполнимо в C # .NET?

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018
public static bool IsAppRunning()
{
    foreach (Process process in Process.GetProcesses())
    {
        if (process.ProcessName.Contains("Updater"))
        {
            return true;
        }
    }

    return false;
}

Если вы вызываете это в цикле while, он сообщает вам, работает ли Updater или нет.

0 голосов
/ 13 ноября 2018

Нелегко общаться между двумя приложениями

Одно предложение: Когда ваша консоль Updater запускается, вы создаете файл в папке C:\Temps\token.txt.Затем, если ваша консоль EndlessLoop обнаружит имена файлов token.txt в C:\Temps, вы сделаете паузу EndlessLoop

...