查看埠的進程
① windows怎麼查看埠進程
|在windows命令行窗口下復執行:制
netstat -aon|findstr 8080命令執行後列印出來的結果如下所示:
如果需要查看其他埠。把8080改成要查詢的埠號即可。
② linux如何查看埠被哪個進程佔用
1)使用lsof命令
lsof是一個非常強大的linux工具,她被用來查找哪些程序使用了那些文件。在系統下,基本上所有的東西都可以被當作文件來用。socket當然也是一種文件了。所以lsof可以用來查找誰用了某一個埠。具體方法:
lsof -i :port_number |grep "(LISTEN)"
-i是用來查找和網路相關的文件,":"號是必須的,它是標志你查找的是一個埠。port_number就是你要查找的埠號,譬如你要查找是否 有程序佔用了oracle的監聽埠1521,就可以使用lsof -i :1521 |grep "(LISTEN)"。如果有程序已經佔用了,那麼下面列印的第二個欄位就是該程序的進程id,第一個欄位是進程的名字。
如果只有losf -i :port_number可能會查到很多應用程序,但這些程序實際並沒有佔用你指定的埠,這些埠只是連接到本機器或者別的機器的該埠。所以要grep "(LISTEN)「,因為一個埠只可能被一個程序佔用的,所以這種方法是可靠的。
2)使用netstat 命令
大家一定對這個命令比較熟悉了,可能你從沒有想到用到來查找哪一個程序的佔用了指定的埠。但是netstat -an 的確提供了這種功能。所以有問題了一定要想到先去查找man手冊,不過說實話,某些man手冊寫得讓中國人看不懂,那沒有辦法了,就googe或者 一下吧。
執行man netstat命令,你會發現netstat 提供了'-p'的選項,這個選項的功能是告訴你哪個程序佔用了該埠,但是她提供的形式比較古怪是以pid/process_name提供的。pid當然 是進程id了,process_name是進程的命令,中間以'/'號分隔。
和上面的原因一樣,我們只查找listen的埠,netstat 給我們提供了-l的選項,這個選項不是默認的選項。
下面以1521埠來看怎麼查找到該程序,我們使用下面的命令:
netstat -lnp|awk 'BEGIN{prt=":1521$"}{if ($4 ~ prt) print $0}'
在這里使用awk來匹配第4個欄位的模式是為了避免誤判。
③ linux中怎麼查看埠是哪個進程的
使用命令:
ps -aux | grep tomcat
發現並沒有8080埠的Tomcat進程。
使用命令:netstat –apn
查看所有的進內程和埠使用情況。發現下容面的進程列表,其中最後一欄是PID/Program name
發現8080埠被PID為9658的Java進程佔用。
進一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看
就可以明確知道8080埠是被哪個程序佔用了!然後判斷是否使用KILL命令幹掉!
方法二:直接使用 netstat -anp | grep portno
即:netstat –apn | grep 8080
④ windows如何查看佔用埠對應的進程
1.點擊開始-運行,輸入cmd打開命令行界面,輸入命令netstat -nao|findstar "XXXX"(註:XXXX是想要查看的埠號,以25340埠為例)就會輸出包含25340埠使用的情況,具體對應的行是
協議 本地地址 外部地址 狀態 PID
可以查到服務的PID是8060,然後根據PID查詢對應的進程。
2.想要查詢某個進程具體是哪個進程,可以使用tasklist命令,具體方法tasklist|findstr "8060"(註:8060是進程PID)
可以查出是openvpn客戶端佔用的這個埠,任務管理器結束任務就行。
⑤ 如何查看某個埠被那個進程佔用
1)使用lsof命令
lsof是一個非常強大的linux工具,她被用來查找哪些程序使用了那些文件。在linux系統下,基本上所有的東西都可以被當作文件來用。socket當然也是一種文件了。所以lsof可以用來查找誰用了某一個埠。具體方法:
lsof -i :port_number |grep "(LISTEN)"
-i是用來查找和網路相關的文件,":"號是必須的,它是標志你查找的是一個埠。port_number就是你要查找的埠號,譬如你要查找是否 有程序佔用了oracle的監聽埠1521,就可以使用lsof -i :1521 |grep "(LISTEN)"。如果有程序已經佔用了,那麼下面列印的第二個欄位就是該程序的進程id,第一個欄位是進程的名字。
如果只有losf -i :port_number可能會查到很多應用程序,但這些程序實際並沒有佔用你指定的埠,這些埠只是連接到本機器或者別的機器的該埠。所以要grep "(LISTEN)「,因為一個埠只可能被一個程序佔用的,所以這種方法是可靠的。
2)使用netstat 命令
大家一定對這個命令比較熟悉了,可能你從沒有想到用到來查找哪一個程序的佔用了指定的埠。但是netstat -an 的確提供了這種功能。所以有問題了一定要想到先去查找man手冊,不過說實話,某些man手冊寫得讓中國人看不懂,那沒有辦法了,就googe或者 一下吧。
執行man netstat命令,你會發現netstat 提供了'-p'的選項,這個選項的功能是告訴你哪個程序佔用了該埠,但是她提供的形式比較古怪是以pid/process_name提供的。pid當然 是進程id了,process_name是進程的命令,中間以'/'號分隔。
和上面的原因一樣,我們只查找listen的埠,netstat 給我們提供了-l的選項,這個選項不是默認的選項。
下面以1521埠來看怎麼查找到該程序,我們使用下面的命令:
netstat -lnp|awk 'BEGIN{prt=":1521$"}{if ($4 ~ prt) print $0}'
在這里使用awk來匹配第4個欄位的模式是為了避免誤判。
⑥ 命令行查看埠號被哪個進程佔用
在網路程序的調試過程中,經常發生一些出乎意料的事情,比如創建一個TCP服務失敗,這時候往往需要查看系統的網路情況,最常用的網路抓包當然非WireShark模式。但往往很多時候只需要查看某個埠的使用情況,它到底被那個進程(對應PID)佔用了,或者你還需要把它Kill掉。如果你在Windows操作系統,你可以使用netstat命令來查詢PID,然後可以打開任務管理器,查看這個PID對應的進程名;如果PID沒有顯示,菜單》查看》選擇列》選中PID即可;得知進程後,我們可以將進程殺掉。下面我簡單描述一下我所了解的在Windows和Linux系統下處理方式。 (假如我們需要確定誰佔用了我們的9010埠)
1、Windows平台
在windows控制台窗口下執行:
netstat -nao | findstr "9010"
TCP 127.0.0.1:9010 0.0.0.0:0 LISTENING 3017
你看到是PID為3017的進程佔用了9010埠,如果進一步你想知道它的進程名稱,你可以使用如下命令:
tasklist | findstr "3017"
如果你想殺死這個進程,你當然可以用前面描述的那種方法,在任務管理器里把它KILL了,但如果你喜歡高效一點,那麼用taskkill命令就可以了。
taskkill /pid 3017
那麼這個進程就灰灰湮滅了:)2、Linux如果你是個Linux愛好者,那個這個命令你應該很熟了,
netstat -pan | grep 9010
如果你稍微仔細一點,你會發現,用的都是netsta命令,事實上,netstat是一個比較通用的網路統計命令,幾乎適用於所有現在流行的操作系統,無論是Linux,Window,還是其他Unix,或者Unix-like操作系統,而且用法基本一致。
下面是一個對Windows系統中netstat命令行參數的詳細解釋。格式:netstat [-a] [-e] [-n] [-o] [-p Protocol] [-b] [-r] [-s] [-v] [Interval]參數說明:-a 顯示所有連接和監聽埠。
-n 以數字形式顯示地址和埠號。
-o 顯示與每個連接相關的所屬進程 ID。
-p 在Windows系統中,該選項用於指定默認情況的子集。proto 顯示 proto 指定的協議的連接;proto 可以是下列協議之一: TCP、UDP、TCPv6 或 UDPv6。
如果與 -s 選項一起使用以顯示按協議統計信息,proto 可以是下列協議之一:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
-b 顯示包含於創建每個連接或監聽埠的可執行組件。在某些情況下已知可執行組件擁有多個獨立組件,並且在這些情況下; 包含於創建連接或監聽埠的組件序列被顯示。這種情況下,可執行組件名在底部的 [] 中,頂部是其調用的組件,等等,直到 TCP/IP 部分。注意此選項
可能需要很長時間,如果沒有足夠許可權可能失敗。
-e 顯示乙太網統計信息。此選項可以與 -s選項組合使用。
-s 顯示按協議統計信息。默認地,顯示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的統計信息。
-r 顯示路由表。
-v 與 -b 選項一起使用時將顯示包含於為所有可執行組件創建連接或監聽埠的組件。
interval 重新顯示選定統計信息,每次顯示之間暫停時間間隔(以秒計)。按 CTRL+C 停止重新顯示統計信息。如果省略,netstat 顯示當前
配置信息(只顯示一次)。
⑦ 如何查看埠號被哪個進程佔用
在網路程序的調試過程中,經常發生一些出乎意料的事情,比如創建一個TCP服務失敗,這時候往往需要查看系統的網路情況,最常用的網路抓包當然非WireShark模式。但往往很多時候只需要查看某個埠的使用情況,它到底被那個進程(對應PID)佔用了,或者你還需要把它Kill掉。如果你在Windows操作系統,你可以使用netstat命令來查詢PID,然後可以打開任務管理器,查看這個PID對應的進程名;如果PID沒有顯示,菜單》查看》選擇列》選中PID即可;得知進程後,我們可以將進程殺掉。下面我簡單描述一下我所了解的在Windows和Linux系統下處理方式。 (假如我們需要確定誰佔用了我們的9010埠) 1、Windows平台 在windows控制台窗口下執行: netstat -nao | findstr 9010 TCP 127.0.0.1:9010 0.0.0.0:0 LISTENING 3017 你看到是PID為3017的進程佔用了9010埠,如果進一步你想知道它的進程名稱,你可以使用如下命令: tasklist | findstr 3017 如果你想殺死這個進程,你當然可以用前面描述的那種方法,在任務管理器里把它KILL了,但如果你喜歡高效一點,那麼用taskkill命令就可以了。 taskkill /pid 3017 那麼這個進程就灰灰湮滅了:)2、Linux 如果你是個Linux愛好者,那個這個命令你應該很熟了, netstat -pan | grep 9010 如果你稍微仔細一點,你會發現,用的都是netsta命令,事實上,netstat是一個比較通用的網路統計命令,幾乎適用於所有現在流行的操作系統,無論是Linux,Window,還是其他Unix,或者Unix-like操作系統,而且用法基本一致。 下面是一個對Windows系統中netstat命令行參數的詳細解釋。格式:netstat [-a] [-e] [-n] [-o] [-p Protocol] [-b] [-r] [-s] [-v] [Interval]參數說明:-a 顯示所有連接和監聽埠。 -n 以數字形式顯示地址和埠號。 -o 顯示與每個連接相關的所屬進程 ID。 -p 在Windows系統中,該選項用於指定默認情況的子集。proto 顯示 proto 指定的協議的連接;proto 可以是下列協議之一: TCP、UDP、TCPv6 或 UDPv6。 如果與 -s 選項一起使用以顯示按協議統計信息,proto 可以是下列協議之一: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。 -b 顯示包含於創建每個連接或監聽埠的可執行組件。在某些情況下已知可執行組件擁有多個獨立組件,並且在這些情況下; 包含於創建連接或監聽埠的組件序列被顯示。這種情況下,可執行組件名在底部的 [] 中,頂部是其調用的組件,等等,直到 TCP/IP 部分。注意此選項 可能需要很長時間,如果沒有足夠許可權可能失敗。 -e 顯示乙太網統計信息。此選項可以與 -s選項組合使用。 -s 顯示按協議統計信息。默認地,顯示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的統計信息。 -r 顯示路由表。 -v 與 -b 選項一起使用時將顯示包含於為所有可執行組件創建連接或監聽埠的組件。 interval 重新顯示選定統計信息,每次顯示之間暫停時間間隔(以秒計)。按 CTRL+C 停止重新顯示統計信息。如果省略,netstat 顯示當前 配置信息(只顯示一次)。
⑧ 查看佔用埠8080的進程的命令
windows查看埠佔用
在windows命令行窗口下執行:
netstat -aon|findstr "8080"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448
埠「8080」被PID(進程號)為2448的進程佔用。
查看埠「8080」被哪個應用佔用,,繼續執行下面命令:
tasklist|findstr "2448"
notepad.exe 2016 Console 0 16,064 K
linux系統
方法1 使用lsof命令
使用IPv4協議的區域網:
執行命令: lsof -Pnl +M -i4|grep 8080
輸出結果: java 1419 1401 10u IPv4 6793357 TCP *:8080 (LISTEN)
方法2 先使用 netstat命令,再用 ps命令
執行命令: netstat -anp|grep 8080
輸出結果: tcp 0 0 :::8080 :::* LISTEN 12006/java
執行命令: ps -ef | grep 12006
輸出結果: root 12886 12851 0 Dec09 ? 00:01:14 /home/bjca/bea/jdk160_05/bin/java -client -Xms256m -Xmx512m -XX:Compile
⑨ 如何查看埠號被哪個進程佔用
在網路程序的調試過程中,經常發生一些出乎意料的事情,比如創建一個TCP服務失敗,這時候往往需要查看系統的網路情況,最常用的網路抓包當然非WireShark模式。但往往很多時候只需要查看某個埠的使用情況,它到底被那個進程(對應PID)佔用了,或者你還需要把它Kill掉。如果你在Windows操作系統,你可以使用netstat命令來查詢PID,然後可以打開任務管理器,查看這個PID對應的進程名;如果PID沒有顯示,菜單》查看》選擇列》選中PID即可;得知進程後,我們可以將進程殺掉。下面我簡單描述一下我所了解的在Windows和Linux系統下處理方式。 (假如我們需要確定誰佔用了我們的9010埠)
1、Windows平台
在windows控制台窗口下執行:
netstat -nao | findstr 9010
TCP 127.0.0.1:9010 0.0.0.0:0 LISTENING 3017
你看到是PID為3017的進程佔用了9010埠,如果進一步你想知道它的進程名稱,你可以使用如下命令:
tasklist | findstr 3017
如果你想殺死這個進程,你當然可以用前面描述的那種方法,在任務管理器里把它KILL了,但如果你喜歡高效一點,那麼用taskkill命令就可以了。
taskkill /pid 3017
那麼這個進程就灰灰湮滅了:)2、Linux
如果你是個Linux愛好者,那個這個命令你應該很熟了,
netstat -pan | grep 9010
如果你稍微仔細一點,你會發現,用的都是netsta命令,事實上,netstat是一個比較通用的網路統計命令,幾乎適用於所有現在流行的操作系統,無論是Linux,Window,還是其他Unix,或者Unix-like操作系統,而且用法基本一致。
下面是一個對Windows系統中netstat命令行參數的詳細解釋。格式:netstat [-a] [-e] [-n] [-o] [-p Protocol] [-b] [-r] [-s] [-v] [Interval]參數說明:-a 顯示所有連接和監聽埠。
-n 以數字形式顯示地址和埠號。
-o 顯示與每個連接相關的所屬進程 ID。
-p 在Windows系統中,該選項用於指定默認情況的子集。proto 顯示 proto 指定的協議的連接;proto 可以是下列協議之一: TCP、UDP、TCPv6 或 UDPv6。
如果與 -s 選項一起使用以顯示按協議統計信息,proto 可以是下列協議之一:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
-b 顯示包含於創建每個連接或監聽埠的可執行組件。在某些情況下已知可執行組件擁有多個獨立組件,並且在這些情況下; 包含於創建連接或監聽埠的組件序列被顯示。這種情況下,可執行組件名在底部的 [] 中,頂部是其調用的組件,等等,直到 TCP/IP 部分。注意此選項
可能需要很長時間,如果沒有足夠許可權可能失敗。
-e 顯示乙太網統計信息。此選項可以與 -s選項組合使用。
-s 顯示按協議統計信息。默認地,顯示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的統計信息。
-r 顯示路由表。
-v 與 -b 選項一起使用時將顯示包含於為所有可執行組件創建連接或監聽埠的組件。
interval 重新顯示選定統計信息,每次顯示之間暫停時間間隔(以秒計)。按 CTRL+C 停止重新顯示統計信息。如果省略,netstat 顯示當前
配置信息(只顯示一次)。
⑩ windows查看埠被哪個進程佔用
在windows命令行窗口下執行:運行--cmd
C:\>netstat -aon|findstr "8080"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448
埠被進程號為2448的進程佔用專,繼屬續執行下面命令:
C:\>tasklist|findstr "2448"
thread.exe 2016 Console 0 16,064 K
很清楚,thread佔用了你的埠,Kill it
命令:taskkill -F -PID 2448
如果第二步查不到,那就開任務管理器,進程---查看---選擇列---pid(進程位標識符)打個勾就可以了
看哪個進程是2448,然後殺之即可。
在安裝WAMP時,也經常遇到這種問題,說是80埠被占,就把前面的8080改成80即可