Verwenden Sie Process.WaitForExit
mit einer Zeitüberschreitung von zwei Minuten und rufen Sie dann Process.Kill
wenn WaitForExit
false
zurückgegeben hat.
(Sie könnten auch erwägen, stattdessen CloseMainWindow
aufzurufen von Kill
, abhängig von Ihrer Situation - oder versuchen Sie es zumindest zuerst, um dem Prozess eine bessere Chance zu geben, ordnungsgemäß herunterzufahren.)
Verwenden Sie einen System.Threading.Timer und geben Sie einen TimerCallback (der Ihren process.Kill enthält), um nach 2 Minuten zurückgerufen zu werden. Siehe das Beispiel hier
%Vor%Bearbeiten: Jons Lösung ist einfacher .. weniger Typen .. keine Entsorgung erforderlich.
Sie sollten es mit dem Windows-Dienst anstelle einer Konsolenanwendung versuchen. Windows-Dienste haben einen iterativen Lebenszyklus, so dass dies leicht mithilfe einer Zeitsteuerung im Windows-Dienst erreicht werden kann. Lassen Sie den Timer in einem Intervall ticken und die gewünschte Aktion in bestimmten Zeitintervallen ausführen.
Natürlich können Sie die Zeitsteuerung auch mit einer Konsolenanwendung verwenden.