linux查看進程埠
1. linux怎麼查看當前埠狀態
你好!
1.
可以通過"~$
netstat
-anp"
來查看哪些埠被打開。
(註:加參數'-n'會將應用程序轉為埠顯示,即數字格式的地址,如:nfs->2049,
ftp->21)
2.
然後可以通過"~$
lsof
-i:$port"查看應用該埠的程序($port指對應的埠號)。或者也可以查看文件/etc/services,從裡面可以找出埠所對應的服務。
(註:有些埠通過netstat查不出來,更可靠的方法是"~$
sudo
nmap
-st
-o
localhost")
希望以上回答對你有所幫助!
2. linux怎麼查看埠進程
Netstat是linux下一個監控TCP/IP網路非常有用的工具,它可以顯示路由表、實際的網路連接以及每一個網路介面設備的狀態信息。Netstat用於顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用於檢驗本機各埠的網路連接情況。
netstat 參數
-a或–all顯示所有連線中的Socket。
-A<網路類型>或–<網路類型>列出該網路類型連線中的相關地址。
-c或–continuous持續列出網路狀態。
-C或–cache顯示路由器配置的快取信息。
-e或–extend顯示網路其他相關信息。
-F或–fib顯示FIB。
-g或–groups顯示多重廣播功能群組組員名單。
-h或–help在線幫助。
-i或–interfaces顯示網路界面信息表單。
具體參考:網頁鏈接
3. linux查看進程佔用埠
以80埠為例
netstat -nltup|grep 80 即可查看到80埠相應的進程及PID
4. Linux可是怎麼查看各個運行的進程佔用的埠
ps命令可以用來查找進程;
在終端上輸入:ps
aux
|
grep
+過濾字元串
例如:我們想查找一個叫streamclient的程序,則輸入:ps
aux
|
grep
streamclient
如果系統列出該進程,則找到了;
在runtime上,可以用該命令確定哪台計算機是主機,因為主機上有一個叫iosys的進程;
因此,輸入:ps
aux
|
grep
iosys
並按回車,如果系統列出該進程,則該機就是主機。
5. linux 怎麼查看程序的埠
使用lsof命令
具體方法:
lsof
-i
:port_number
|grep
"(LISTEN)"
-i是用來查找和網路相關的文件,":"號是必須的,它是標志你查找的是一個埠。port_number就是你要查找的埠號,譬如你要查找是否
有程序佔用了oracle的監聽埠1521,就可以使用lsof
-i
:1521
|grep
"(LISTEN)"。如果有程序已經佔用了,那麼下面列印的第二個欄位就是該程序的進程id,第一個欄位是進程的名字。
如果只有losf
-i
:port_number可能會查到很多應用程序,但這些程序實際並沒有佔用你指定的埠,這些埠只是連接到本機器或者別的機器的該埠。所以要grep
"(LISTEN)「,因為一個埠只可能被一個程序佔用的,所以這種方法是可靠的。
6. Linux下查看一個進程佔用了哪個埠的方法
時候需要在Linux下查看一個進程佔用了那個埠,但是只知道進程大致的名稱,比如要查看hadoop的namenode在哪個埠上運行,以便在eclipse中連接。
首先用ps命令查看進程的id:
復制代碼代碼如下:
$ ps -ef | grep Name
其中每一行(很長的時候會佔用若干行)的第二個欄位就是進程的id。
當然,對於在java虛擬機中運行的進程,比如hadoop的守護進程,可以直接用jsp命令查看:
$ jps | grep Name
或者已經知道進程的確切名稱,可以用pidof查看:
$ pidof Name
查看到進程id之後,使用netstat命令查看其佔用的埠:
$ netstat -nap | grep pid
7. linux 查看進程 佔用哪些埠
一)使用lsof命令 lsof是一個非常強大的linux工具,她被用來查找哪些程序使用了那些文件。在linux系統下,基本上所有的東西都可以被當作文件來用。socket當然也是一種文件了。所以lsof可以用來查找誰用了某一個埠。具體方法: lsof -i :port_number |grep "(LISTEN)" -i是用來查找和中國絡相關的文件,":"號是必須的,它是標志你查找的是一個埠。port_number就是你要查找的埠號,譬如你要查找是否 有程序佔用了oracle的監聽埠一5二一,就可以使用lsof -i :一5二一 |grep "(LISTEN)"。如果有程序已經佔用了,那麼下面列印的第二個欄位就是該程序的進程id,第一個欄位是進程的名字。 如果只有losf -i :port_number可能會查到很多應用程序,但這些程序實際並沒有佔用你指定的埠,這些埠只是連接到本機器或者別的機器的該埠。所以要grep "(LISTEN)「,因為一個埠只可能被一個程序佔用的,所以這種方法是可靠的。 二)使用netstat 命令 大家一定對這個命令比較熟悉了,可能你從沒有想到用到來查找哪一個程序的佔用了指定的埠。但是netstat -an 的確提供了這種功能。所以有問題了一定要想到先去查找man手冊,不過說實話,某些man手冊寫得讓中國人看不懂,那沒有辦法了,就googe或者 一下吧。 執行man netstat命令,你會發現netstat 提供了'-p'的選項,這個選項的功能是告訴你哪個程序佔用了該埠,但是她提供的形式比較古怪是以pid/process_name提供的。pid當然 是進程id了,process_name是進程的命令,中間以'/'號分隔。 和上面的原因一樣,我們只查找listen的埠,netstat 給我們提供了-l的選項,這個選項不是默認的選項。 下面以一5二一埠來看怎麼查找到該程序,我們使用下面的命令: netstat -lnp|awk 'BEGIN{prt=":一5二一$"}{if ($四 ~ prt) print $0}' 在這里使用awk來匹配第四個欄位的模式是為了避免誤判
8. linux怎麼查看某個進程佔用的埠
步驟一】lsof -i
lsof -i 用以顯示符合條件的進程情況,lsof(list open files)是一個列出當前系統打開文件的工具。以root用戶來執行lsof -i命令,如下圖
【步驟二】lsof -i:埠號
lsof -i:埠號,用於查看某一埠的佔用情況,比如查看22號埠使用情況,lsof -i:22,如下圖
【步驟三】netstat -tunlp
netstat -tunlp用於顯示tcp,udp的埠和進程等相關情況,如下圖
4
【步驟四】netstat -tunlp|grep 埠號
netstat -tunlp|grep 埠號,用於查看指定埠號的進程情況,如查看22埠的情況,netstat -tunlp|grep 22,如下圖
9. linux如何查看埠
x使用過程中,需要了解當前系統開放了哪些埠,並且要查看開放這些埠的具體進程和用戶,可以通過netstat命令進行簡單查詢
netstat命令各個參數說明如下:
-t : 指明顯示TCP埠
-u : 指明顯示UDP埠
-l : 僅顯示監聽套接字(所謂套接字就是使應用程序能夠讀寫與收發通訊協議(protocol)與資料的程序)
-p : 顯示進程標識符和程序名稱,每一個套接字/埠都屬於一個程序。
-n : 不進行DNS輪詢,顯示IP(可以加速操作)
即可顯示當前伺服器上所有埠及進程服務,於grep結合可查看某個具體埠及服務情況··
netstat -ntlp //查看當前所有tcp埠·
netstat -ntulp |grep 80 //查看所有80埠使用情況·
netstat -ntulp | grep 3306 //查看所有3306埠使用情況·
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 -anp|grep 8080
netstat -anp|grep 8080 --> tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 28500/java
ps -aux | grep 28500 --> r/local/tomcat9-jforum/tomcat
安裝lsof list open files//---也可以 netstat -tunlp|grep 埠號 netstat -anp|grep 埠號
yum install lsof
lsof -i:8080 查看8080埠佔用
lsof abc.txt 顯示開啟文件abc.txt的進程
lsof -c abc 顯示abc進程現在打開的文件
lsof -c -p 1234 列出進程號為1234的進程所打開的文件
lsof -g gid 顯示歸屬gid的進程情況
lsof +d /usr/local/ 顯示目錄下被進程開啟的文件
lsof +D /usr/local/ 同上,但是會搜索目錄下的目錄,時間較長
lsof -d 4 顯示使用fd為4的進程
lsof -i 用以顯示符合條件的進程情況
lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
46 --> IPv4 or IPv6
protocol --> TCP or UDP
hostname --> Internet host name
hostaddr --> IPv4地址
service --> /etc/service中的 service name (可以不止一個)
port --> 埠號 (可以不止一個)
lsof -i //顯示所有打開的埠
lsof -i:80 //顯示所有打開80埠的進程
lsof -i -U //顯示所有打開的埠和UNIX domain文件
其實我一般這樣用:
[root@VM_39_230_centos bin]# lsof -i:3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 16422 mysql 19u IPv6 148794 0t0 TCP *:mysql (LISTEN)
mysqld 16422 mysql 39u IPv6 643698 0t0 TCP localhost:mysql->localhost:36582 (ESTABLISHED)
mysqld 16422 mysql 45u IPv6 643699 0t0 TCP localhost:mysql->localhost:36584 (ESTABLISHED)
mysql
10. linux如何查看埠被哪個進程佔用
使用netstat 和lsof命令,並用grep來過濾你需要查看的埠。
例如查看tcp有哪些埠打開了:
netstat-a|greptcp
然後查看哪個進程佔用了這些埠:
lsof-i
如果要查看某個埠,比如80埠是哪個進程:
lsof-i|grep:80