1. 程式人生 > >windows下檢視當前程序,殺掉程序等

windows下檢視當前程序,殺掉程序等

      雖然我們平時學習最多的是linux命令,但是平時開發,更多的卻是在windows下,而cmd命令也是我們經常需要用到的。cmd命令和linux命令有相同也有不同之處。這裡記錄一下windows下,如何查詢當前程序,並把它殺掉。

一、使用背景

      在用模擬器開啟react native的時候,發現8081埠被佔用了。這要是在linux下,直接查詢佔用埠的pid,然後kill即可。然而這些命令在windows下實在行不通。

二、檢視程序

1、檢視當前所有程序

//這個命令在linux下也可以用的,都是檢視當前的程序。
netstat

2、檢視netstat命令下的所有引數

//執行下面命令
netstat  --help

-a 顯示所有連線和偵聽埠。
-b 顯示在建立每個連線或偵聽埠時涉及的
可執行程式。在某些情況下,已知可執行程式承載
多個獨立的元件,這些情況下,
顯示建立連線或偵聽埠時
涉及的元件序列。在此情況下,可執行程式的
名稱位於底部 [] 中,它呼叫的元件位於頂部,
直至達到 TCP/IP。注意,此選項
可能很耗時,並且在你沒有足夠
許可權時可能失敗。
-e 顯示乙太網統計資訊。此選項可以與 -s 選項
結合使用。
-f 顯示外部地址的完全限定
域名(FQDN)。
-n 以數字形式顯示地址和埠號。
-o 顯示擁有的與每個連線關聯的程序 ID。
-p proto 顯示 proto 指定的協議的連線;proto
可以是下列任何一個: TCP、UDP、TCPv6 或 UDPv6。如果與 -s
選項一起用來顯示每個協議的統計資訊,proto 可以是下列任何一個:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
-q 顯示所有連線、偵聽埠和繫結的
非偵聽 TCP 埠。繫結的非偵聽埠
不一定與活動連線相關聯。
-r 顯示路由表。
-s 顯示每個協議的統計資訊。預設情況下,
顯示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的統計資訊;
-p 選項可用於指定預設的子網。
-t 顯示當前連線解除安裝狀態。
-x 顯示 NetworkDirect 連線、偵聽器和共享
終結點。
-y 顯示所有連線的 TCP 連線模板。
無法與其他選項結合使用。
interval 重新顯示選定的統計資訊,各個顯示間暫停的
間隔秒數。按 CTRL+C 停止重新顯示
統計資訊。如果省略,則 netstat 將列印當前的
配置資訊一次。

3、檢視佔用8081埠的程序

//這裡的埠號可以使用字串的形式"3306"
//也可以直接加埠號,3306,實現的效果是相同的
netstat -ano | findstr 3306

1)-ano 是為了更直觀的展現當前埠的使用情況,並且把pid顯示出來,讓我們能知道是哪個程序佔用了該埠號
2)findstr 這個命令和linux下的grep命令很像,都有查詢的左右
3)| 是代表管道的意思,表示可以同時執行兩邊的命令。

4、檢視佔用當前程序的具體程式

// tasklist該工具顯示在本地或遠端機器上當前執行的程序列表。
//關於tasklist的具體用法,可以使用 tasklist /?來檢視
tasklist | findstr 3306

聽過這個命令,我們可以找到當前使用3306埠的具體程式。

三、windows下殺掉程序

1、windows下殺掉程序的方法為taskkill
使用該工具按照程序 ID (PID) 或映像名稱終止任務。

2、執行

//檢視相關引數
taskkill /?

引數列表:
/S system 指定要連線的遠端系統。
/U [domain]user 指定應該在哪個使用者上下文執行這個命令。
/P [password] 為提供的使用者上下文指定密碼。如果忽略,提示
輸入。
/FI filter 應用篩選器以選擇一組任務。
允許使用 ““。例如,映像名稱 eq acme
/PID processid 指定要終止的程序的 PID。
使用 TaskList 取得 PID。
/IM imagename 指定要終止的程序的映像名稱。萬用字元 ‘*’可用來
指定所有任務或映像名稱。
/T 終止指定的程序和由它啟用的子程序。
/F 強制終止程序

3、殺掉pid為8888的程序

//表示強制終止pid為8888的程序
taskkill  /F /PID 8888

      以上就是關於windows下如何檢視指定埠,如何殺掉程序的方法。cmd的命令和linux的shell命令始終是有不同之處。多用 “命令 /?”的方式,檢視引數,這樣能更有利於我們的學習。

end