单声道重启控制台应用程序

问题描述:

我已经编写了一个控制台应用程序在单声道为Linux。单声道重启控制台应用程序

我必须与

“命令单APP.EXE”

有一些posibility有事时重新启动应用程序启动它。

举例来说,我在树莓派上运行这个应用程序,当应用程序 检测到特殊IO引脚上的某些电压时,应用程序应该自动重启。

请帮帮我。

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

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

在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,并修改传递给它的命令。