Process Kill0r
Encore du PHP pour un script de fainéant qui kill les processus indésirables sous windows (pratique avant de lancer une application qui nécessite beaucoup de ressources). A customiser selon vos envies. A titre culturel, shell_exec exécute une commande et retourne le résultat dans une chaîne. On se sert ici de la commande tasklist qui dresse une liste des processus lancés. Si une des lignes contient le nom d'un exécutable concerné, le signal d'arrêt lui est envoyé avec taskkill /IM. L'option /F force la fin si celle-ci prend son temps.
<?php
/* Process Kill0r 1.0 by dew */
$str=shell_exec("tasklist");
$str=explode("\n",$str);
$process=array(
'Apache.exe', // Apache
'mysqld-nt.exe', // MySQL
'Winamp.exe', // Winamp
'atiptaxx.exe', // Control Panel ATI
'ati2evxx.exe', // Encore de l'ATI
'tablet.exe', // Tablette graphique
'TabUserW.exe', // Tablette graphique
'wmiprvse.exe', // Windows Management Thing
'cthelper.exe', // Creative Thing
'uphclean.exe', // Fast session close
'spoolsv.exe', // Spool Impression
'supercopier.exe', // SuperCopier
'ctfmon.exe', // Microsoft Language Thing
);
foreach($str as $ligne) {
foreach($process as $p) {
if(preg_match('/'.$p.'/i',$ligne)) {
exec("taskkill /IM $p /F");
}
}
}
?>
A lancer avec la commande php.exe -q script.php
(si le chemin est spécifié dans PATH, etc...).
Fini le geek stuff, demain on reprend avec de la philo, promis.
6 décembre 2004 à 12:00
Merci de nous faire partager ce script, il est vraiment sympa :)
25 janvier 2005 à 13:16
Plutôt pratique ! Merci !
17 octobre 2005 à 12:16
Ca fait tres longtemps qu’on a plus de billets sur le PHP :'(
A quand le prochain? :)
10 janvier 2006 à 14:21
Juste une tite remarque tasklist ne fonctionne pas sous un win server 2000, il faut utiliser tlist.exe
Sinon petit script bien sympa :)
18 janvier 2006 à 09:11
pas terro… c’est hardcodé : les noms des taches a killer en dur, c’est null…
alors qu’il suffirait de toutes les énumérer et d’essayer (silent_v) de les killer; ce qui passe si elle sont en released.