Программа перезапускающая другую программу - C#

Узнай цену своей работы

Формулировка задачи:

И так, суть такова. Есть сервер, по сути Экзешник. он работает, но вполне вероятно что могут случаться краши (из за неправильной реализации каких-то функций в ядре). Так вот, нужно реализовать что-то что будет чекать, ну допустим раз в 10 секунд на краш другой программы, и если это так, то перезапускать. Вопрос в том, можно ли получить как-то крашлог с помощью другой программы?

Решение задачи: «Программа перезапускающая другую программу»

textual
Листинг программы
static void Main()
{
    process = StartProcess();
    Console.ReadLine();
    GC.KeepAlive(process);
}
 
static Process process;
 
static Process StartProcess()
{
    var process = new Process();
    process.EnableRaisingEvents = true;
    process.StartInfo.FileName = @"C:\workst_new_mop\server\worldserver.exe";
    process.StartInfo.WorkingDirectory = Path.GetDirectoryName(process.StartInfo.FileName);
    process.Exited += DoRestart;
    process.Start();
    return process;
}
 
static void DoRestart(object sender, EventArgs args)
{
    if (process != null)
    {
        process.Exited -= DoRestart;
    }
    process = StartProcess();
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.333 из 5
Похожие ответы