我目前正在开发一款小游戏服务器,而且它正在使用"模拟器"。有时它会崩溃,用户将不得不等到我下班回来,所以我想问一下是否有人知道,是否有办法自动重启.exe(其中有3个)如果它崩溃,那么如果程序说" ...停止工作"。
有人帮助我吗?
答案 0 :(得分:0)
您可以编写一个简单的批处理文件,它将检查exe的主要功能(退出代码)的返回值。
或者只是编写一个简单的程序,如果它没有运行,则使用Process.Start
启动它 - >枚举并检查Process.GetProcesses()
。
如果'服务器'您也可以创建服务。本身不提供编程的。
有很多选择......
答案 1 :(得分:0)
站在沉没的船上,很难从沉没的船上救出自己......最好的选择是第二个过程,某种看门狗检查应用程序是否仍然存在并且如果没有自动启动它。
您可以通过调用
来枚举正在运行的进程LIKE
答案 2 :(得分:0)
订阅Process.Exited
事件,以便在退出时重新启动:
var proc = Process.GetProcessesByName("my-server").Single();
proc.EnableRaisingEvents = true;
proc.Exited += (a, e) =>
{
proc = Process.Start(...); // Restart the process
};
答案 3 :(得分:0)
有多种方法可以做到这一点 请记住,您事先检查了您的检查条件 例如
If(stopped working){
Application.Restart();
}
另一种方式是
If(stopped working){
Process.Start(Application.ExecutablePath);
}
另一种方式是
override func viewDidLoad() {
super.viewDidLoad()
self.carousel.dataSource = self
self.carousel.delegate = self
carousel.reloadData()
// Triggers layOutItemView and thus will render all images.
self.carousel.type = iCarouselType.coverFlow
}