linux埠佔用查詢
A. 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個欄位的模式是為了避免誤判。
B. Linux怎麼查看埠佔用情況
馬哥Linux的官網上有教程,你可以去看一下。
C. 如何查看linux伺服器佔用的埠
root用戶執行netstat
-ntupl
n表示不查詢dns
t表示tcp協議
u表示udp協議
p表示查詢佔用的程序
l表示查詢正在監聽的程序
D. linux如何查看埠被佔用
linux如何查看埠被哪個進程佔用的方法:
①lsof -i:埠號
,用於查看某一埠的佔用情況,比如查看22號埠使用情況,lsof -i:22,如下圖
E. 如何查看linux伺服器佔用的埠
root用戶執行netstat -ntupl
n表示不查詢dns
t表示tcp協議
u表示udp協議
p表示查詢佔用的程序
l表示查詢正在監聽的程序
F. linux 查詢哪些埠被佔用
你好,
使用 lsof 進行查看!
誰在使用tcp8080埠
>/usr/sbin/lsof -i tcp:8080
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
------------------------------------------------------
java 31550 root 109u IPv6 78687600 TCP *:webcache (LISTEN)
誰在使用22埠
>/usr/sbin/lsof -i :22
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
sshd 2883 root 3u IPv6 7642 TCP *:ssh (LISTEN)
>/usr/sbin/lsof -i | grep http
uselib24 15272 apache 4u IPv6 217212 TCP *:http (LISTEN)
uselib24 15272 apache 6u IPv6 217217 TCP *:https (LISTEN)
G. linux下怎麼查看埠是否被佔用
用netstat命令即可,netstat命令可以列出監聽埠的進程,如果netstat命令的結果中用某個埠,就表示這個版埠是被佔用的,如果權沒有,表示埠沒有被佔用。netstat的常見用法是:netstat -tlnp,其中-t參數表示列出TCP連接的信息,-t參數也可以換成-u參數,表示列出UDP連接信息,顯示結果裡面Local Address這一列就是埠號的信息。
H. 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,如下圖
I. linux檢查埠是否被佔用
我還能用還得拿高考專家是已經被戰友真的沒搬進手所以到學校直接從收入才能的話我就是個門檻不高
J. 怎麼用命令查看linux上本機的某個埠是否被佔用
linux系統下,查看埠佔用情況的命令:lsof -i
1 [root@www ~]# lsof -i
2
3 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
4 nginx 2333 root 6u IPv4 6242 TCP *:http (LISTEN)
5 nginx 2334 www 6u IPv4 6242 TCP *:http (LISTEN)
6 sshd 2349 root 3u IPv6 6283 TCP *:ndmp (LISTEN)
7 sshd 2349 root 4u IPv6 6286 TCP *:ssh (LISTEN)
這里返回了Linux當前所有打開埠的佔用情況。第一段是進程,最後一列是偵聽的協議、偵聽的IP與埠號、狀態。如果埠號是已知的常用服務(如80、21等),則會直接顯示協議名稱,如http、ftp、ssh等。
查看某一埠的佔用情況: lsof -i:埠號
1 [root@www ~]# lsof -i:21
2
3 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
4 pure-ftpd 2651 root 4u IPv4 7047 TCP *:ftp (LISTEN)
5 pure-ftpd 2651 root 5u IPv6 7048 TCP *:ftp (LISTEN)
這里顯示出21號埠正在被pure-ftpd使用,狀態是listen。
結束佔用埠的進程:killall 進程名
雖然我們不建議用這種本末倒置的方法來解決沖突問題,但某些情況下還是可以直接結束掉佔用進程的(比如重啟Apache時進程沒有完全退出,導致重啟失敗)
1 [root@www ~]# killall pure-ftpd
這樣,所有的pure-ftpd進程都會被結束掉。