私はシンプルで面白い質問があります。親クラッシュ後のC#子プロセスの動作
C#アプリケーションからプロセス(node.jsサーバー)を起動する必要があります。
アプリケーション内からサーバーを起動する方法を説明するコードが見つかりました。
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.FileName = @"c:\node\node.exe";**//Path to node installed folder****
string argument = "\\ bundle\main.js";
p.StartInfo.Arguments = @argument;
p.Start();
私の質問は:親プロセス(C#アプリケーション)がクラッシュした場合、このプロセスで起こった何?子プロセスが終了/クラッシュするか、まったく別のプログラムなので実行されますか?
それが稼働し続けた場合、方法は、親がクラッシュした場合、子が終了を確認すると、「リンク」、これら二つのプロセスがありますか?
ありがとうございますが、私の質問はまだ残っています:親がクラッシュした場合(process.CloseMainWindow();)の前にこのプロセスが実行され続けますか?もしそうなら、それを閉じる方法がありますか? –
@ThomasGrosはい.......開かれたプロセスはいつものように残ります – andy
@ThomasGros - プロセスは閉じられません... udpated answer –