Page 2 sur 2
Re: [..] Kill de tous les processus sauf système
Posté : mer. 14 mars 2012 13:35
par mikell
Rôôô personne n'a remarqué ?
@Saachaa : effectivement c'est troublant
Code : Tout sélectionner
$Find = False
If $List[$i][0] [color=#FF0000][size=150][b]<>[/b][/size][/color] $Exeptions[$i2] Then ; si le process [color=#FF0000]n'est pas [/color]dans la liste
$Find = True ; passe la variable à '[color=#FF0000]true[/color]'
ExitLoop ; [color=#FF0000]on le ferme pas[/color], on sort de la boucle 2 et on teste le process suivant de la boucle 1
EndIf
Next
If $Find = False Then ; en sortie de boucle 2, si la variable est à '[color=#FF0000]false[/color]' on [color=#FF0000]ferme[/color] le process
ProcessClose($List[$i][0])
EndIf
Vu qu'en l'état, le script ne flingue exclusivement que les fichiers système, faut pas s'étonner de comportements surprenants de Windows (et du script, s'il essaie de s'auto-flinguer vu qu'il est dans la liste...)
Note : si le script est testé non compilé ça pourrait être une bonne idée de rajouter provisoirement "Autoit3.exe" dans la liste d'exceptions ^^
Re: [..] Kill de tous les processus sauf système
Posté : mer. 14 mars 2012 15:38
par TT22
Très grosse erreur de ma part ==> Honte sur moi
En fait, il faut mettre ça :
► Afficher le texte
Code : Tout sélectionner
$List = ProcessList()
Dim $Exeptions[3] = ["csrss.exe","dwm.exe","explorer.exe"]
For $i = 2 To UBound($List)-1 Step 1
$Find = False
For $i2 = 0 To UBound($Exeptions)-1 Step 1
If $List[$i][0] [color=#FF0000]=[/color] $Exeptions[$i2] Then
$Find = True
ExitLoop
EndIf
Next
If $Find = False Then
ProcessClose($List[$i][0])
EndIf
Next
Merci nickel, c'est mikell (ou peut-être l'inverse

)!
Re: [..] Kill de tous les processus sauf système
Posté : mer. 14 mars 2012 16:27
par Saachaa
Hummm
Merci je regarderai ça ce soir

Re: [..] Kill de tous les processus sauf système
Posté : mer. 14 mars 2012 17:34
par jchd
Troublant, troublant... ça s'apparenterait plutôt à un trou noir ou même un trou noir bleu en l'occurence.
@T22
Pour info on peut parfaitement tuer explorer, c'est même parfois fort utile.
Re: [..] Kill de tous les processus sauf système
Posté : mer. 14 mars 2012 18:02
par TT22
jchd a écrit :@T22
Pour info on peut parfaitement tuer explorer, c'est même parfois fort utile.
Oui, je sais, sauf que chez moi ça ne sert à rien
Parceque si je ferme explorer.exe, il se ré-ouvre
Je suis sous Windows 7 et ça ne le faisais pas sous XP

Re: [..] Kill de tous les processus sauf système
Posté : mer. 14 mars 2012 19:32
par jchd
Si bien sûr aussi !
Explorer c'est le shell.
Re: [..] Kill de tous les processus sauf système
Posté : mer. 14 mars 2012 21:21
par mikell
jchd a écrit :Pour info on peut parfaitement tuer explorer, c'est même parfois fort utile.
+1 pour explorer
@TT22
L'intérêt c'est justement fermer + réouvrir, ça fait un bon ménage
D'ailleurs sous XP, si je ferme explorer sans le réouvrir, j'ai plus d'affichage et je suis dans une m3rde bleue

Re: [..] Kill de tous les processus sauf système
Posté : mer. 14 mars 2012 21:23
par Saachaa
Bonsoir,
J'ai réglé le code comme donné, tout passe
Pour l'explorer, il se relance aussi chez moi, et à moins de taper sur un while qui le rekill s'il est présent (et en même temps dégommer les ressources systèmes), je ne vois pas comment faire... Une idée ?
De plus, j'aimerais dégommer les plus de process possible, puis-je encore alléger ma WL ?
Bonne soirée

Re: [..] Kill de tous les processus sauf système
Posté : mer. 14 mars 2012 21:29
par mikell
Ben au lieu de ProcessClose tu pourrais essayer la commande
Re: [..] Kill de tous les processus sauf système
Posté : mer. 14 mars 2012 21:35
par TT22
@mikell : Oui, ça fonctionne pour l'explorer

Edit : Ça fonctionne tellement bien que ça m'as aussi fermé SciTE

Re: [..] Kill de tous les processus sauf système
Posté : mer. 14 mars 2012 21:45
par mikell
Oui, j'aurais dû préciser : "si t'as pas peur, tu peux utiliser... etc"
L'argument /t avec TASKKILL flingue aussi tous les processus child, mais bon, on parlait bien de faire un ménage maximum, non ?

Re: [..] Kill de tous les processus sauf système
Posté : jeu. 15 mars 2012 19:12
par Saachaa
Bonsoir,
Merci pour le batch, je l'utiliserai sûrement

Re: [..] Kill de tous les processus sauf système
Posté : jeu. 15 mars 2012 19:28
par Saachaa
L'est géniale la commande, mon tool se fait dégommer aussi

Re: [..] Kill de tous les processus sauf système
Posté : ven. 16 mars 2012 13:18
par mikell
Hum
Oui il vaudrait mieux utiliser les PID des softs (ProcessList => 2ème colonne) et mettre les arguments /f et /t après le nom du soft
Re: [..] Kill de tous les processus sauf système
Posté : sam. 17 mars 2012 12:31
par Saachaa
Euh... j'veux bien... mais comment on ? Enfin pas tout compris

Re: [..] Kill de tous les processus sauf système
Posté : mar. 20 mars 2012 00:55
par TopXm
Saachaa,
En appliquant les conseils de Mikell ça donne un truc du genre.
J'ai mis en comment la commande RunWait je ne voulais pas stopper tous mes process
J'ai essayer sur un ça marche.
► Afficher le texteKillprocess
Code : Tout sélectionner
#include "array.au3"
Dim $Exeptions[12] = ["csrss.exe","dwm.exe","smss.exe","winlogon.exe","svchost.exe","dllhost.exe","lsm.exe", _
"lsass.exe","nvvsvc","services.exe","Wininit.exe", "SlowinKiller.exe"]
If MsgBox(4, "Fermeture des applications", "Slowin' Killer a besoin de couper tous les processus en cours" & _
@CRLF & "en cours d'exécution afin de pouvoir garantir la meilleure restauration possible." & _
@CRLF & @CRLF & "Souhaitez-vous y procéder maintenant ?" ) <> 6 Then Exit
Local $Idx, $Cmd, $List = ProcessList()
For $i = 1 To $List[0][0]
If $List[$i][1] > 4 Then ;exclusion process system (peut se faire autrement ... style si pas de .exe ...)
$Idx = _ArraySearch($Exeptions, $List[$i][0])
If @error = 6 Then ;non trouvé dans le tableau
$Cmd = @ComSpec & ' /c taskkill /pid ' & $List[$i][1] & ' /t /f'
ConsoleWrite('on arrête ' & $List[$i][0] & ' via ' & $Cmd & @crlf)
; RunWait($Cmd) ;ne pouvant pas me permettre de virer mes process je la met en comment
; néanmoins une commande testée sur un EXE fonctionne :)
EndIf
EndIf
Next
Re: [..] Kill de tous les processus sauf système
Posté : mer. 11 avr. 2012 10:25
par Saachaa
Salut Top,
Je pensais faire un truc du genre, merci du tuyau

.
Ps: Désolé j'ai été chargé ces temps-ci, d'où ma réponse tardive.
Re: [..] Kill de tous les processus sauf système
Posté : mer. 11 avr. 2012 22:08
par Naheulf
Pour avoir la liste complète des processus windows il faut démarrer en mode sans échec.
Pour être certain de fermer tout les processus indésirables :
► Afficher le texte

Quoi falait laisser les processus windows ?
