相信大家都有用命令行(CMD)解決問題的習慣,起碼我感覺自己在處理Windows系統故障時越來越離不開Windows PE了,今天我想介紹兩個很實用的命令:Tasklist與Tskill。
命令:Tasklist
功能:命令用來顯示運行在本地或遠程計算機上的所有進程,可以監控用戶的操作。
命令格式:
Tasklist [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]
參數含義
/S system 指定連接到的遠程系統。
/U [domain\]user 指定使用哪個用戶執行這個命令。
/P [password] 為指定的用戶指定密碼。
/M [module] 列出調用指定的DLL模塊的所有進程。如果沒有指定模塊名,顯示每個進程加載的所有模塊。
/SVC 顯示每個進程中的服務。
/V 顯示詳細信息。
實例分析:
如果我們只是查看本地主機進程信息,直接辦入命令即可。下面的實例是從客戶機遠程查看內網中某台主機時程信息。
假如我們有一台服務器:
內網地址:192.168.0.1,
管理員帳號:administrator
管理員密碼:password
我們需要在CMD窗口輸入:
Tasklist /s 192.168.0.1 /u administrator /p password
這條命令可以使我們方便的查看到遠程主機的運行情況,當然前提是保證RPC服務正常啟動。
命令:tskill
功能:用來關掉進程的
命令格式:
TSKILL processid | processname [/SERVER:servername] [/ID:sessionid | /A] [/V]
參數含義
processid 要結束的進程的 Process ID。
processname 要結束的進程名稱。
/SERVER:servername 含有 processID 的服務器(默認值是當前值)。
使用進程名和 /SERVER 時,必須指定
/ID 或 /A
/ID:sessionid 結束在指定會話下運行的進程。
/A 結束在所有會話下運行的進程。
/V 顯示正在執行的操作的信息。
這個Tskill用法很簡單,直接輸入Tskill 圖象名或PID就可以了。
命令:ntsd
偶爾碰上Tskill無法結束的進程,還可以試試Ntsd命令,只有System、SMSS.EXE和CSRSS.EXE不能殺。前兩個是純內核態的,最后那個是Win32子系統,ntsd本身需要它。ntsd從2000開始就是系統自帶的用戶態調試工具。被調試器附着(attach)的進程會隨調試器一起退出,所以可以用來在命令行下終止進程。使用ntsd自動就獲得了debug權限,從而能殺掉大部分的進程。ntsd會新開一個調試窗口,本來在純命令行下無法控制,但如果只是簡單的命令,比如退出(q),用-c參數從命令行傳遞就行了。NtsdNtsd 按照慣例也向軟件開發人員提供。只有系統開發人員使用此命令。有關詳細信息,請參閱 NTSD 中所附的幫助文件。用法:開個cmd.exe窗口, 如果你不知道進程的ID,任務管理器->進程選項卡->查看->選擇列->勾上"PID(進程標識符)",然后就能看見了。
格式為: ntsd -c q -pn {進程名}
參數含義:
-c是表示執行debug命令;
q表示執行結束后退出;
-p 表示后面緊跟着是你要結束的進程對應的PID;
-pn 表示后面緊跟着是你要結束的進程名;
1、根據端口查找進程、殺死進程: netstat -ano | find "8080"
C:\Documents and Settings\keju.wangkj>netstat -ano | find "8080" TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 5796 C:\Documents and Settings\keju.wangkj>tskill 5796
2、如果你不知道進程的ID,任務管理器->進程選項卡->查看->選擇列->勾上"PID(進程標識符)",然后就能看見了。
出處:http://tianya23.blog.51cto.com/1081650/760533
=========================================================================
cmd下命令殺進程的幾個方法
1、用taskill命令
①taskkill /f /im 進程名稱
示例:用taskkill /f /im VStart.exe命令關閉音速啟動,VStart.exe就是音速啟動的進程名稱
②taskkill /pid[進程碼] -t(結束該進程) -f(強制結束該進程以及所有子進程)
注:有兩種方法查進程的PID碼:
①在命令行下用 tasklist 命令查出進程的PID號碼,就是這些
②在任務管理器中的查看選項中選擇選擇列中勾先PID那一項
示例:舉個關閉迅雷的例子,先找出迅雷的PID碼2552
taskkill /pid 2552 -f,就是這個指令
2、用 wmic process Where name="進程名稱" call terminate 這個不需要知道進程的PID號
示例:
wmic process Where name="iexplore.exe" call terminate 關閉IE瀏覽器,
3、ntsd -c q -p [pid進程碼]
示例:還是舉個關閉迅雷的吧,同樣先找出迅雷的PID碼2724
ntsd -c q -p 2724 是這條指令!
出處:http://blog.sina.com.cn/s/blog_4e41d2090100a3i1.html