Ich führe ein Visual Studio-Postbuild-Ereignis aus, das IIS herunterfährt, wenn es nach der Kompilierung noch ausgeführt wird:
taskkill /f /im w3wp.exe
Das Folgende funktioniert einwandfrei, wenn IIS noch ausgeführt wird, löst jedoch einen Fehler aus, wenn es bereits beendet wurde:
Error 1 The process "w3wp.exe" not found. xxx\EXEC
Gibt es eine Möglichkeit, taskkill anzuweisen, das Problem zu ignorieren, wenn kein passender laufender Prozess gefunden wird?
START /wait taskkill /f /im w3wp.exe
Das funktioniert auch gut:
quelle
Oder dies wird nur eine Info-Nachricht zurückgeben, wenn nicht gefunden:
Info von: hier
quelle
Dies ist eine einzeilige Lösung .
Taskkill wird nur ausgeführt, wenn der Prozess wirklich ausgeführt wird, andernfalls wird nur die Information angezeigt, dass er nicht ausgeführt wird.
Dies ist die Ausgabe, falls der Prozess ausgeführt wurde:
Dies ist die Ausgabe für den Fall, dass sie nicht ausgeführt wird:
quelle
Zwingt den Prozess zum Abbruch (wenn der Prozess ausgeführt wird) und gibt keine Informationen aus.
Der folgende Befehl funktioniert einwandfrei.
taskkill /f /im w3wp.exe /t /fi "status eq running">nul
quelle