验证另一个应用程序始终在运行

car*_*son 3 c# process

我正在尝试在c#中创建一个控制台应用程序,它将确认另一个应用程序始终在运行.另一个应用程序会定期崩溃,我需要每隔几分钟检查一次,如果它已停止工作则重新启动它.

在SO上有很多问题可以解决,而不是只有一个应用程序实例正在运行.我试图确认一个(不多或少)一直在运行.

有人知道怎么开始接近这个吗?

Jus*_*ner 7

我建议使用System.Diagnostics.Process.GetProcessesByName以查看您的进程是否正在运行,然后,如果没有,则使用System.Diagnostics.Process.Start启动进程.

var processes = Process.GetProcessesByName("yourProcessName");

if(processes.Length == 0)
{
    Process.Start(@"C:\Path\To\Your\Process.exe");
}

// Kill the extras
for(int i = 1; i < process.Length; i++)
{
    processes[i].Kill();
}
Run Code Online (Sandbox Code Playgroud)