Estou executando um evento de pós-compilação do Visual Studio que desliga o IIS se ele ainda estiver em execução após a compilação:
taskkill /f /im w3wp.exe
O seguinte funciona perfeitamente se o IIS ainda estiver em execução, mas gera um erro se já tiver parado:
Error 1 The process "w3wp.exe" not found. xxx\EXEC
Existe uma maneira de dizer ao taskkill para ignorar o problema se ele não conseguir encontrar um processo em execução correspondente?
START /wait taskkill /f /im w3wp.exe
Isso funciona bem também:
fonte
Ou, isso retornará apenas uma mensagem informativa se não for encontrada:
Informações de: aqui
fonte
Esta é uma solução de uma linha .
Ele executará o taskkill apenas se o processo estiver realmente em execução, caso contrário, apenas informará que não está em execução.
Esta é a saída no caso de o processo estar em execução:
Esta é a saída caso não esteja em execução:
fonte
Força o processo a ser eliminado (se o processo estiver em execução) e não gera nenhuma informação.
O comando a seguir funciona bem.
taskkill /f /im w3wp.exe /t /fi "status eq running">nul
fonte