[Windows] 利用 tasklist 和 taskkill 終止遠端電腦的程序
有時會需要在家連回公司的電腦,
最常使用的自然是 Windows 內建的遠端桌面了,
不過有時遠端桌面會突然沒有反應,這時候該怎麼辦呢?
根據以往的經驗,遠端桌面突然卡住有幾種可能:
1. 跟遠端電腦的連線斷掉了… 這個只要 ping 一下遠端電腦就可以確認了
2. 如果 ping 成功,也看到的遠端桌面,可是滑鼠鍵盤就是沒有反應呢?
通常狀況2有可能是因為遠端電腦在跑什麼程式,而那個程式造成了問題,
也許是那個程式吃了太多的 CPU、用了太多的記憶體之類的,
有時是因為 explorer.exe 程序當掉了導致整個桌面都沒有反應~
這時候可以利用 Windows 7 內建的 tasklist 和 taskkill 來嘗試解決問題
(不過僅限於本地電腦和遠端電腦是有「區域連線」或「VPN連線」的狀態喔)
Step 1: 用 tasklist 顯示遠端電腦現在在執行哪些程序。
tasklist 的語法如下:
例如:tasklist /s myMachie /u myAccount /p “this is my password”
執行之後:
Step 2: 猜測是哪個程序造成的問題。這一步不太容易,有時要靠經驗判斷。
可以看看是不是有程序用了過多的記憶體(用了幾百 MB)而平常它不會用到這麼多,
或是剛剛有執行過什麼程式之後就導致桌面當掉,也是一個線索。
如果都猜不出來的話,最終的目標就是 explorer.exe…
只不過如果砍掉 explorer.exe 的話,工作列會整個消失,
需要再用別的方法把它叫起來喔(像是用原本已經在執行的 Process Explorer)…
Step 3: 用 taskkill 砍掉造成問題的程序。
taskkill 和 tasklist 的參數方式很接近,相當的方便。
像我猜測是 Everything 這個程序吃掉了超過 1GB 的記憶體而造成了問題,
我就可以使用下列的指令來終止它:
taskkill /s myMachine /u myAccount /p “this is my password” /im everything*
程式終止之後,桌面回復正常的話,就是砍對程序囉~
砍錯的話… 請再嘗試其他的程序看看,不過可別亂砍呀,
到時候連遠端桌面都進不去的狀況也是有可能的~~ 😛
//
//
One thought on “[Windows] 利用 tasklist 和 taskkill 終止遠端電腦的程序”
@echo off
WMIC PROCESS get Caption,Commandline,Processid | findstr wscript
set /p pid=輸入想刪除的 PID:
taskkill /f /pid %pid%