很多人對于DOS界面的操作都有一種奇怪的認知,認為那就是黑客使用的高級命令,實際上就和普通的鼠标操作是一樣的,隻是用命令行的形式去完成,這樣有利有弊,好處是可以自動化更加方便快捷且精準,壞處就是沒有可視化那麼直觀,但是如果隻是在一些特定場景下使用,很多時候還是命令行更加方便。
比如如果電腦進程卡主了或者電腦中了病毒禁止打開任務管理器,那麼如何使用DOS命令行強制關閉進程呢?
用命令提示符(cmd)打開任務管理器查看進程方法
開始→運行→cmd,然後在命令提示符窗口中輸入TaskList就可以查看計算機當前的進程了。
用命令提示符(cmd)終止某個進程的方法- 使用PID值終結進程
- 使用映像名稱終結進程
上面兩種方式都需要使用TASKLIST命令進行查看,首先我們使用/?獲取幫助,可以看到TASKLIST命令選項都是可選的,說明可以直接使用。
C:\Users\Administrator>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] 列出當前使用所給 exe/dll 名稱的所有任務。
如果沒有指定模塊名稱,顯示所有加載的模塊。
/SVC 顯示每個進程中主持的服務。
/APPS 顯示 Microsoft Store 應用及其關聯的進程。
/V 顯示詳細任務信息。
/FI filter 顯示一系列符合篩選器
指定條件的任務。
/FO format 指定輸出格式。
有效值: "TABLE"、"LIST"、"CSV"。
/NH 指定列标題不應該
在輸出中顯示。
隻對 "TABLE" 和 "CSV" 格式有效。
/? 顯示此幫助消息。
篩選器:
篩選器名稱 有效運算符 有效值
----------- --------------- --------------------------
STATUS eq, ne RUNNING | SUSPENDED
NOT RESPONDING | UNKNOWN
IMAGENAME eq, ne 映像名稱
PID eq, ne, gt, lt, ge, le PID 值
SESSION eq, ne, gt, lt, ge, le 會話編号
SESSIONNAME eq, ne 會話名稱
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 用戶名,格式為
[域\]用戶
SERVICES eq, ne 服務名稱
WINDOWTITLE eq, ne 窗口标題
模塊 eq, ne DLL 名稱
注意: 當查詢遠程計算機時,不支持 "WINDOWTITLE" 和 "STATUS"
篩選器。
使用TASKLIST命令查看當前所有進程的pid和映像名
TASKLIST命令
其中還使用到了篩選器選項,找到我們此次要關閉的對象QQ音樂。
找到進程
注意:篩選器後面的命令需要使用雙引号包裹起來。
看一下TASKKILL命令幫助
TASKKILL [/S system [/U username [/P [password]]]]
{ [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]
描述:
使用該工具按照進程 ID (PID) 或映像名稱終止任務。
參數列表:
/S system 指定要連接的遠程系統。
/U [domain\]user 指定應該在哪個用戶上下文執行這個命令。
/P [password] 為提供的用戶上下文指定密碼。如果忽略,提示
輸入。
/FI filter 應用篩選器以選擇一組任務。
允許使用 "*"。例如,映像名稱 eq acme*
/PID processid 指定要終止的進程的 PID。
使用 TaskList 取得 PID。
/IM imagename 指定要終止的進程的映像名稱。通配符 '*'可用來
指定所有任務或映像名稱。
/T 終止指定的進程和由它啟用的子進程。
/F 指定強制終止進程。
/? 顯示幫助消息。
篩選器:
篩選器名 有效運算符 有效值
----------- --------------- -------------------------
STATUS eq, ne RUNNING |
NOT RESPONDING | UNKNOWN
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 窗口标題
說明
----
1) 隻有在應用篩選器的情況下,/IM 切換才能使用通配符 '*'。
2) 遠程進程總是要強行 (/F) 終止。
3) 當指定遠程機器時,不支持 "WINDOWTITLE" 和 "STATUS" 篩選器。
例如:
TASKKILL /IM notepad.exe
TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
TASKKILL /F /IM cmd.exe /T
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 域\用戶名 /FI "用戶名 ne NT*" /IM *
TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"
看完幫助之後會發現終止一個進程實際上并不止小編列出來的兩種方法,實際上使用PID,使用映像名稱,使用會畫編号,使用内存使用量等等都可以關閉指定進程。
但是我列出來的兩個算是比較簡單的了,那麼看看如何執行的吧。
終止QQ音樂進程
注意:單純是使用TASKKILL命令隻會發送終止信号,并不一定能夠立刻終止進程,而在最後加上選項/F,則可以立刻關閉進程。
命令:
C:\Users\Administrator>TASKKILL /IM QQMusic.exe //雖然發送了終止信号但是不一定關閉
成功: 給進程 "QQMusic.exe" 發送了終止信号,進程的 PID 為 12656。
C:\Users\Administrator>TASKKILL /IM QQMusic.exe /F //強制關閉效果很棒
成功: 已終止進程 "QQMusic.exe",其 PID 為 12656。
C:\Users\Administrator>TASKKILL /PID 12656 /F //PID也可以關閉