Mono重启控制台应用程序

时间:2013-04-26 10:21:00

标签: linux mono restart raspberry-pi

我已经用linux编写了一个单独的控制台应用程序。

我必须以

开头

“sudo mono app.exe”

当事情发生时,是否有可能重新启动应用程序。

对于examlpe,我在覆盆子Pi上运行这个应用程序,当应用程序 检测到应用程序应自动重启的特殊IO引脚上的某些电压。

请帮帮我。

2 个答案:

答案 0 :(得分:0)

您可以使用Process类中的方法启动新的应用程序实例,然后退出。

http://www.dotnetperls.com/process-start

答案 1 :(得分:0)

在Windows上,您可以使用cmd.exe来执行脚本。在这篇博客文章中,作者要求cmd等待一段时间,然后删除可执行文件

http://blog.pedroliska.com/2010/05/20/c-self-destruct-windows-app/

如果在Windows上,您可以使用相同的技巧重新启动可执行文件。

var startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";
startInfo.RedirectStandardInput = true;
startInfo.UseShellExecute = false;
startInfo.CreateNoWindow = true;

var process = new Process();
process.StartInfo = startInfo;
process.Start();

// The delay is just making sure the exe to delete is done
// running.
var delayPings = 2;
var exeName = AppDomain.CurrentDomain.FriendlyName;
process.StandardInput.WriteLine("(ping -n " + delayPings + " 127.0.0.1) && (CALL " + exeName + ")");

现在对于Linux,您只需要使用bash(或其他Shell)来替换cmd,并修改传递给它的命令。