Prozess nach bestimmter Zeit beenden + C #

8

Wie töte ich einen Prozess nach etwa zwei oder drei Minuten? Sehen Sie sich den folgenden Code an:

%Vor%

Ich möchte das IE-Fenster nach 2 Minuten geschlossen haben

    
Developer 22.06.2009, 15:22
quelle

3 Antworten

21

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.)

    
Jon Skeet 22.06.2009, 15:27
quelle
3

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.

    
Gishu 22.06.2009 15:29
quelle
0

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.

    
this. __curious_geek 22.06.2009 15:28
quelle

Tags und Links