J'exécute un événement de post-construction de Visual Studio qui arrête IIS s'il est toujours en cours d'exécution après la compilation:
taskkill /f /im w3wp.exe
Ce qui suit fonctionne parfaitement si IIS est toujours en cours d'exécution, mais génère une erreur s'il s'est déjà arrêté:
Error 1 The process "w3wp.exe" not found. xxx\EXEC
Existe-t-il un moyen de dire à taskkill d'ignorer le problème s'il ne trouve pas de processus en cours d'exécution correspondant?
START /wait taskkill /f /im w3wp.exe
Cela fonctionne bien aussi:
la source
Ou, cela retournera simplement un message d'information s'il n'est pas trouvé:
Infos de: ici
la source
Il s'agit d'une solution en une seule ligne .
Il exécutera taskkill uniquement si le processus est réellement en cours d'exécution, sinon il indiquera simplement qu'il n'est pas en cours d'exécution.
C'est la sortie au cas où le processus était en cours d'exécution:
C'est la sortie en cas de non fonctionnement:
la source
Force le processus à tuer (si le processus est en cours d'exécution) et ne génère aucune information.
La commande suivante fonctionne correctement.
taskkill /f /im w3wp.exe /t /fi "status eq running">nul
la source