Parfois, un programme sur une machine Windows devient fou et se bloque simplement. Je vais donc appeler le gestionnaire de tâches et appuyer sur le bouton "Terminer le processus" pour cela. Cependant, cela ne fonctionne pas toujours; si je l'essaye suffisamment de fois, il finira généralement par mourir, mais j'aimerais vraiment pouvoir le tuer immédiatement. Sous Linux, je pourrais simplement kill -9
garantir qu'un processus va mourir.
Cela pourrait également être utilisé pour écrire des scripts batch et écrire des scripts batch est en cours de programmation.
Existe-t-il un programme ou une commande fourni avec Windows qui tuera toujours un processus? Une application tierce gratuite serait bien, même si je préfère pouvoir le faire sur des machines auxquelles je m'assois pour la première fois.
Réponses:
"Terminer le processus" sur les appels de l'onglet Processus,
TerminateProcess
qui est le moyen le plus ultime pour Windows de tuer un processus.S'il ne disparaît pas, il est actuellement verrouillé en attente d'une ressource du noyau (probablement un pilote buggé) et il n'y a rien (à part un redémarrage) que vous puissiez faire pour faire disparaître le processus.
Jetez un œil à cette entrée de blog depuis le chemin du retour lorsque: http://blogs.technet.com/markrussinovich/archive/2005/08/17/unkillable-processes.aspx
Les systèmes basés sur Unix comme Linux ont également ce problème où les processus peuvent survivre
kill -9
s'ils sont dans ce qui est connu sous le nom de "sommeil sans interruption" (indiqué par top et ps comme étatD
) à quel point les processus dorment si bien qu'ils ne peuvent pas traiter les signaux entrants (ce quikill
fait - envoyer des signaux).Normalement, le sommeil sans interruption ne devrait pas durer longtemps, mais comme sous Windows, les pilotes cassés ou les programmes de l'espace utilisateur cassés (
vfork
sansexec
) peuvent finir par dormir pourD
toujours.la source
taskkill /f
est le plus ultime.TerminateProcess
API. Il fait exactement la même chose que le Gestionnaire des tâches (cependant, vous avez raison, avec des privilèges élevés).Le "/ f" est pour "forcer". Si vous connaissez le PID, vous pouvez le spécifier, comme dans:
Beaucoup d'autres options sont possibles, tapez simplement taskkill /? pour chacun d'eux. L'option "/ t" tue un processus et tous les processus enfants; cela peut vous être utile.
la source
taskkill /pid 1234 /f
fonctionne quand End Task refuse de travailler! HOU LA LA!Process Hacker a de nombreuses façons de tuer un processus.
(Cliquez avec le bouton droit sur le processus, puis accédez à Divers-> Terminator.)
la source
JosepStyons a raison. Ouvrez cmd.exe et exécutez
S'il y a une erreur disant,
essayez ensuite d'exécuter cmd.exe en tant qu'administrateur.
la source
ERROR: The process with PID 17888 (child process of PID 17880) could not be terminated. Reason: There is no instance of the task.
et il fait référence au parent PID 17880. Comme il ne peut pas trouver le parent, il ne tuera pas l'enfant orphelin. :(Obtenez l'explorateur de processus de sysinternals (maintenant Microsoft)
Process Explorer - Windows Sysinternals | Microsoft Docs
la source
Une astuce qui fonctionne bien consiste à attacher un débogueur, puis à quitter le débogueur.
Sur XP ou Windows 2003, vous pouvez le faire en utilisant ntsd qui est livré prêt à l'emploi:
ntsd ouvrira une nouvelle fenêtre. Tapez simplement 'q' dans la fenêtre pour quitter le débogueur et retirer le processus.
Je sais que cela fonctionne même lorsque le gestionnaire de tâches ne semble pas capable de tuer un processus.
Malheureusement, ntsd a été supprimé de Vista et vous devez installer les outils de débogage (gratuits) pour Windows pour obtenir un débogueur approprié.
la source
winsdk_web.exe
, ce qui ne fait rien.configurez une commande AT pour exécuter le gestionnaire de tâches ou l'explorateur de processus en tant que SYSTEM.
Si l'explorateur de processus était dans votre lecteur racine C, cela l'ouvrirait en tant que SYSTEM et vous pourriez tuer n'importe quel processus sans obtenir d'erreurs d'accès refusé. Réglez-le pendant une minute à l'avenir, puis il apparaîtra pour vous.
la source
Lorsque l'accès ntsd est refusé, essayez:
ZeroWave a été conçu pour être un outil simple qui fournira une terminaison à plusieurs niveaux de tout type de processus.
ZeroWave est également un programme facile à utiliser en raison de sa simplicité d'installation et de son interface graphique très conviviale.
ZeroWave a trois modes de terminaison et avec le mode "INSANE" peut mettre fin à tout type de processus pouvant s'exécuter sur Windows.
Il semble que ZeroWave ne puisse pas tuer avp.exe
la source
Pour info vous pouvez parfois utiliser SYSTEM ou Trustedinstaller pour tuer des tâches;)
google quickkill_3_0.bat
la source