こんにちは、これまでコマンドで「コマンドプロンプト」を実行する小さなアプリケーションを作成しました。スレッドスリープを使用した簡単なメソッドを作成しました
public static string Executecmd(string command, int sleepSec) {
try {
string result = null;
System.Threading.Thread objThread = new System.Threading.Thread(delegate() {
result = ExecuteCommandSync(command);
});
objThread.IsBackground = true;
objThread.Start();
while (objThread.IsAlive == true) {
System.Threading.Thread.Sleep(sleepSec * 1000);
objThread.Abort();
}
return result;
}
catch (Exception x) {
Console.WriteLine(x.Message + "\n" + x);
return null;
}
}
それは正常に動作しますが、実行されたコマンドが終了しても、スレッドのスリープが完了するまでスリープ状態のままになるため、私の質問は、それを実行して5秒間スリープし、完了した場合は停止するメソッドを作成する方法です。それ以外の場合は5秒待ってから中止します