(Linux Mint) - 如何在崩溃时重启 mono .exe
(Linux Mint) - How to restart mono .exe upon crash
我最近用 mono develop c# 制作了一个 Tcp-server。
我的电脑运行s Linux mint 17
我运行这个服务器使用sudo mono Desktop/server.exe
然而它时不时地崩溃,我想让它在崩溃时重新启动,否则我必须回到我的电脑前在它崩溃时重新启动它。
我知道这不是一个稳定的解决方案,但暂时可以。
我听说过 UpStart,但无法真正理解其文档。
当我通过终端启动我的程序时,我在系统监视器中看不到任何新进程弹出,所以我也不知道程序进程的名称。
(我一直在四处搜索,并尝试了很多新贵,但我的任何尝试都没有成功。甚至没有找到服务器进程的名称)
问题:
有没有一种简单的方法来检测我的程序是否 运行ning,如果没有自动重启它?
I have recently made a Tcp-server in mono develop c#.
如果您拥有代码,最好的办法是修复代码,以免它崩溃。只有在您没有代码或人力来修复您正在使用的软件中的问题时,您才会在崩溃时想要重新启动。
我已经解决了我的问题,但我不确定我是否会提供一个通用的答案:
我之前的代码涉及一个块:
while (data != null) {
sw.WriteLine (data);
sw.Flush ();
data = file.ReadLine ();
}
sw.Close ();
file.Close ();
其中 sw 是一个 streamWriter。
它崩溃的原因是 sw.Flush 的失败,我不明白。我按照 knocte 的建议用 try catch 解决了它:
try{
while (data != null) {
sw.WriteLine (data);
sw.Flush ();
data = file.ReadLine ();
}
sw.Close ();
file.Close ();
}catch{
sw.Close ();
file.Close ();
continue;
}
这不是一个很好的解决方案,但显然比重新启动应用程序更好。现在一切似乎都运作良好。谢谢
编辑:显然 knocte 建议我对整个 Main() 进行 try catch,但这仍然有效
我最近用 mono develop c# 制作了一个 Tcp-server。
我的电脑运行s Linux mint 17
我运行这个服务器使用sudo mono Desktop/server.exe
然而它时不时地崩溃,我想让它在崩溃时重新启动,否则我必须回到我的电脑前在它崩溃时重新启动它。
我知道这不是一个稳定的解决方案,但暂时可以。
我听说过 UpStart,但无法真正理解其文档。 当我通过终端启动我的程序时,我在系统监视器中看不到任何新进程弹出,所以我也不知道程序进程的名称。
(我一直在四处搜索,并尝试了很多新贵,但我的任何尝试都没有成功。甚至没有找到服务器进程的名称)
问题: 有没有一种简单的方法来检测我的程序是否 运行ning,如果没有自动重启它?
I have recently made a Tcp-server in mono develop c#.
如果您拥有代码,最好的办法是修复代码,以免它崩溃。只有在您没有代码或人力来修复您正在使用的软件中的问题时,您才会在崩溃时想要重新启动。
我已经解决了我的问题,但我不确定我是否会提供一个通用的答案:
我之前的代码涉及一个块:
while (data != null) {
sw.WriteLine (data);
sw.Flush ();
data = file.ReadLine ();
}
sw.Close ();
file.Close ();
其中 sw 是一个 streamWriter。 它崩溃的原因是 sw.Flush 的失败,我不明白。我按照 knocte 的建议用 try catch 解决了它:
try{
while (data != null) {
sw.WriteLine (data);
sw.Flush ();
data = file.ReadLine ();
}
sw.Close ();
file.Close ();
}catch{
sw.Close ();
file.Close ();
continue;
}
这不是一个很好的解决方案,但显然比重新启动应用程序更好。现在一切似乎都运作良好。谢谢
编辑:显然 knocte 建议我对整个 Main() 进行 try catch,但这仍然有效