<c#>アプリを自動的に再起動する
ときどきフリースしてしまうアプリがあるので、アプリを自動的に再起動するアプリを作ってみました。
using System; using System.Linq; namespace RestartApp { class Program { static void Main(string[] args) { if (args.Count() < 2) { //ローカルコンピュータ上で実行されているすべてのプロセスを取得 System.Diagnostics.Process[] ps = System.Diagnostics.Process.GetProcesses(); foreach (System.Diagnostics.Process p in ps) { try { //プロセス名を出力する Console.WriteLine("プロセス名: {0}", p.ProcessName); } catch (Exception ex) { Console.WriteLine(ex.Message); } } Console.WriteLine(); Console.WriteLine("引数1:終了させるプロセス名 引数2:起動するファイル名"); Console.WriteLine("Hit any key!!"); Console.ReadKey(); return; } //プロセスを取得 System.Diagnostics.Process[] procs = System.Diagnostics.Process.GetProcessesByName(args[0]); foreach (System.Diagnostics.Process proc in procs) { Console.WriteLine("終了中:" + proc.ProcessName); proc.CloseMainWindow(); //プロセスが終了するまで最大10秒待機する proc.WaitForExit(10000); //プロセスが終了したか確認する if (proc.HasExited) Console.WriteLine("正常終了しました。:" + proc.ProcessName); else { proc.Kill(); Console.WriteLine("強制終了しました。:" + proc.ProcessName); } } //再度起動する System.Diagnostics.Process procRun = System.Diagnostics.Process.Start(args[1]); // Console.ReadKey(); } } }