用windows命令行關閉進程

用windows命令行關閉進程

方法一:

ntsd 命令

例子:

在"開始/運行"中輸入:ntsd  -c q  -pn 程序名
有一些高優先級的進程,tskill和taskkill可能無法結束,可以用系統調試工具ntsd,除了WINDOWS系統自己的管理進程,絕大多數進程ntsd
都可以Kill掉,因爲功能強大,所以定義爲系統管理員級的工具,要小心使用.

NTSD 調試程序在啓動時要求用戶指定一個要連接的進程。使用 TLIST 或 PVIEWER,您可以獲得某個現有進程的進程 ID,然後鍵入 NTSD -p

pid 來調試這個進程。NTSD 命令行使用如下的句法:
NTSD [options] imagefile
其中,imagefile 是要調試的映像名稱,options 是下面選項之一:
選項說明-2打開一個用於調試字符模式的應用程序的新窗口-d將輸出重定向到調試終端-g 使執行自動通過第一個斷點-G使 NTSD 在子程序終止

時立即退出o啓用多個進程的調試,默認值爲由調試程序衍生的一個進程-p指定調試由進程 ID 標識的進程-v產生詳細的輸出
例如,假設 inetinfo.exe 的進程 ID 爲 104。鍵入以下命令將 NTSD 調試程序連接到 inetinfo 進程 (IIS)。
NTSD -p 104
也可使用 NTSD 啓動一個新進程來進行調試。例如,NTSD notepad.exe 將啓動一個新的 notepad.exe 進程,並與它建立連接。
一旦連接到某個進程,您就可以用各種命令來查看堆棧、設置斷點、轉儲內存,等等。
命令含義~顯示所有線程的一個列表KB 顯示當前線程的堆棧軌跡~*KB顯示所有線程的堆棧軌跡R顯示當前幀的寄存器輸出U反彙編代碼並顯示過

程名和偏移量D[type][< range>]轉儲內存BP[#]

設置斷點BC[]清除一個或多個斷點BD[]禁用一個或多個斷點BE[< bp>]啓用一個或多個斷點BL[]列出一個或多個斷點
個人意見,有一個非常重要的參數就是-v參數,我們可以通過它發現一個進程下面掛接了哪些連接庫文件.有很多病毒,木馬,或者惡意軟件,都喜

歡把自己做成動態庫,然後註冊到系統正常程序的加載庫列表中,達到隱藏自己的目的.
首先我們需要設置一下ntsd的輸出重定向,最好是重定向到一個文本文件,方便我們分析研究.
c:\>set _NT_DEBUG_LOG_FILE_APPEND=c:\pdw.txt
注意,雖然輸出重定向了,但是我們的輸出依然會繼續顯示在屏幕上,而且會進入到debug模式,我們使用-c q參數,就可以避免這個問題.
c:\>ntsd -c q -v notepad.exe
現在我們的pdw.txt文件中,就可以看見notepad.exe文件的調試信息.
ntsd使用以下參數殺死進程.
c:\>ntsd -c q -p PID 只要你能提供進程的PID,那麼你就可以kill進程.

方法二:

 tskill命令

可與tasklist(顯示當前進程命令)參照使用。

tskill命令是關閉運行中的進程.
TSKILL processid | processname [/SERVER:servername] [/ID:sessionid | /A] [/V]

processid 要結束的進程的 Process ID。
processname 要結束的進程名稱。
/SERVER:servername 含有 processID 的服務器(默認值是當前值)。
使用進程名和 /SERVER 時,必須指定
/ID 或 /A
/ID:sessionid 結束在指定會話下運行的進程。
/A 結束在所有會話下運行的進程。
/V 顯示正在執行的操作的信息。

方法三:
taskkill命令主要的好處是帶很多篩選器,可以批量結束進程
C:\>taskkill /? 調出該命令的幫助
TASKKILL [/S system [/U username [/P [password]]]]
{ [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]
描述:
這個命令行工具可用來結束至少一個進程。
可以根據進程 id 或圖像名來結束進程。
參數列表:
/S system 指定要連接到的遠程系統。
/U [domain\]user 指定應該在哪個用戶上下文
執行這個命令。
/P [password] 爲提供的用戶上下文指定
密碼。如果忽略,提示輸入。
/F 指定要強行終止
進程。
/FI filter 指定篩選進或篩選出查詢的
的任務。
/PID process id 指定要終止的進程的
PID。
/IM image name 指定要終止的進程的
映像名。通配符 '*'
可用來指定所有映像名。
/T Tree kill: 終止指定的進程
和任何由此啓動的子進程。
/? 顯示幫助/用法。
篩選器: 篩選器名 有效運算符 有效值
----------- --------------- --------------
STATUS eq, ne 運行 | 沒有響應
IMAGENAME eq, ne 圖像名
PID eq, ne, gt, lt, ge, le PID 值
SESSION eq, ne, gt, lt, ge, le 會話編號
CPUTIME eq, ne, gt, lt, ge, le CPU 時間,格式爲
hh:mm:ss。
hh - 時,
mm - 鍾,ss - 秒
MEMUSAGE eq, ne, gt, lt, ge, le 內存使用,單位爲 KB
USERNAME eq, ne 用戶名,格式爲
[domain\]user
MODULES eq, ne DLL 名
SERVICES eq, ne 服務名
WINDOWTITLE eq, ne 窗口標題
注意: 只有帶有篩選器的情況下,才能跟 /IM 切換使用通配符 '*'。
注意: 遠程進程總是要強行終止,
不管是否指定了 /F 選項。
例如:
TASKKILL /S system /F /IM notepad.exe /T
TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
TASKKILL /F /IM notepad.exe /IM mspaint.exe
TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
TASKKILL /S system /U domain\username /FI "USERNAME ne NT*" /IM *
TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"

發佈了25 篇原創文章 · 獲贊 11 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章