Программа перезапускающая другую программу - 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();
}