2010-02-06 119 views
1

我正在使用JavaScript編寫代碼。我有一個進程的PID。我如何殺死它? 您可以使用WMI來終止名稱,您如何使用PID來做到這一點?JavaScript查殺進程

更新:該平臺是Windows。

+1

kill -9 PID ??? ???我想你一定在談論一個Rhino虛擬機。 – jldupont 2010-02-06 19:24:22

+1

我懷疑任何系統都會讓Javascript執行根級命令! – PurplePilot 2010-02-06 19:27:31

+0

您需要告訴我們在什麼環境下運行。例如,它是否是Windows腳本主機上的JScript? – Anonymous 2010-02-06 19:35:13

回答

9

看起來您正在編寫Windows Script Host或Windows Desktop Gadget。如果是這樣,我會用WScript.Shell及其Exec方法用命令行的taskkill(Win XP的專業版,贏Vista的&運7只)沿:

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

如果你真的想與WMI有點像做以下爲我工作正常(感謝@Helen的改進):

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

我需要它WINDOW 2000和Windows Server 2003 – 2010-02-06 20:35:36

+0

爲什麼不使用ExecQuery(「SELECT * FROM Win32_Process WHERE Handle ='」+ pid +「'」)''而不是'InstancesOf' + if if? – Helen 2010-02-07 15:37:15

+0

@海倫,你可以做到這一點,但你仍然必須列舉他們。這是一個更好的方法,我會將其與我的代碼交換。 – 2010-02-07 20:38:17