web-dev-qa-db-fra.com

Comment puis-je tuer un processus incontournable?

J'ai fermé une demande, mais le processus est resté dans la liste. J'essaie de m'arrêter dans le chef de la tâche, mais rien ne se passe. Aucun message d'erreur, le processus reste juste dans la liste. J'essaie de le déboguer, mais le débogueur dit:

Incapable de joindre au processus de crash. L'opération demandée n'est pas prise en charge.

Cela se produit avec VS2008 et d'autres programmes, parfois.

Comment le terminer?

12
skevar7

Malheureusement, le seul recours réel est de redémarrer.

J'ai également eu ce problème et je ne pouvais absolument trouver aucun moyen de tuer avec succès le processus écrasé. J'ai essayé à peu près à chaque application pskill/similaire que je pouvais trouver, et ils échouent tous.

Si je comprends bien, la cause la plus courante de ce problème est que le processus incriminé charge un pilote de système, puis l'envoie une demande qu'elle ne parvient pas à compléter. Apparemment, le noyau ne peut pas utiliser correctement la mémoire du processus lorsqu'il se ferme, car le pilote écrasé est dans un état d'attente IO nécessitant un accès à l'espace d'adresses de processus.

(Surtout cracelé de) http://blogs.technet.com/markrussinovich/archive/2005/08/17/unkillable-processes.aspx

11
Fake Name

Process Hacker a une commande Divers → Terminator qui essaiera un tas de méthodes différentes pour tuer votre processus:

failing on most attempts

full descriptions

Dans mes tests, tout cela a été enfermé le pirate informatique et la transformer également en un processus inutilisable, mais peut-être que cela fonctionnera dans certains cas.

3
endolith

parfois Le processus pourrait être bloqué sur une ressource ou un fil ou quelque chose, et de quitter ou de libérer cela, libère le processus et le laisse finir. Il est quelque peu similaire à la façon dont vous supprimez (à la corbeille de recyclage) un fichier dans l'explorateur utilisé, il ne disparaît pas et semble bloqué (sans retourner immédiatement une erreur inutilisée/verrouillée), mais si vous Quittez le programme qui l'a enfermé dans les cinq secondes, le fichier disparaît soudainement.

J'ai vu cela arriver à l'occasion, en particulier avec des programmes qui ont une boîte de dialogue contextuelle ou quelque chose qui se cache en quelque sorte; Trouver un moyen de rejeter la boîte de dialogue permet de terminer le fil, permettant ainsi le processus de fin.

Je soupçonne qu'avec l'augmentation de la pratique, mais toujours relativement nouvelle de la programmation multi-filetée, des choses comme celle-ci deviendront plus courantes, du moins pendant un certain temps.

2
Synetech

lancez CMD en tant qu'administrateur et utilisez Taskkill pour le forcer. Exemple:

taskkill/F Yourprogram.exe

OR

taskkill/F/im yourprogram.exe

Si vous êtes coincé sur la syntaxe Taskilliller CMD, tapez Taskkill /?

0
Ethan J.

Il est probable que les programmes que vous utilisez ont été développés avant Windows Vista/7 et sont incompatibles avec les modifications apportées.

Votre meilleur pari est de localiser l'exécutable pour les programmes qui ont ce problème, cliquez avec le bouton droit de la souris, accédez aux propriétés, puis sélectionnez Compatible, sélectionnez enfin Windows XP comme mode de compatibilité.

0
Daisetsu