2010-02-06 5 views
1

J'écris en utilisant JavaScript. J'ai un PID d'un processus. Comment puis-je le tuer? Vous pouvez terminer par un nom en utilisant WMI, Comment pouvez-vous le faire en utilisant PID?JavaScript tue un processus

MISE À JOUR: La plate-forme est Windows.

+1

kill -9 PID ??? vous devez parler d'une VM Rhino, je suppose. – jldupont

+1

Je doute que n'importe quel système va laisser Javascript faire des commandes au niveau de la racine! – PurplePilot

+0

Vous devez nous indiquer dans quel environnement cela fonctionne. Est-ce JScript sur Windows Script Host, par exemple? – Anonymous

Répondre

9

Il semble que vous codiez pour Windows Script Host ou Windows Desktop Gadget. Dans ce cas, je l'utilise WScript.Shell et sa méthode Exec ainsi que la ligne de commande taskkill (Win XP Pro, Windows Vista & Windows 7 uniquement):

var WshShell = new ActiveXObject("WScript.Shell"); 
var oExec = WshShell.Exec("taskkill /pid 1234"); 

Si vous voulez vraiment faire avec WMI quelque chose comme suivant fonctionne très bien pour moi (merci @Helen pour les améliorations):

function killPID (pid) { 
    GetObject("winmgmts:").Get("Win32_Process.Handle='" + pid + "'").Terminate(); 
} 
+0

J'en ai besoin n Windo 2000 et Windows Server 2003 –

+0

Pourquoi ne pas utiliser 'ExecQuery (" SELECT * FROM Win32_Process WHERE Handle = '"+ pid +"' ")' au lieu de 'InstancesOf' +' if'? – Helen

+0

@Helen, vous pourriez le faire, vous auriez encore à les énumérer cependant. C'est une meilleure méthode, je vais l'échanger avec mon code. –

Questions connexes