Linux下如何查看端口以及釋放端口
一、查看端口是否被占用
在 Linux 系統(tǒng)上,你可以使用 `netstat` 或 `lsof` 命令來(lái)查看端口是否被占用。
以下是兩種方法:
1、使用 `netstat` 命令
netstat -tulpn | grep <端口號(hào)>
這將顯示占用指定端口的進(jìn)程信息。
如果端口被占用,你將看到以下的輸出項(xiàng)目:
tcp 0 0 0.0.0.0:<端口號(hào)> 0.0.0.0:* LISTEN <進(jìn)程ID>/<進(jìn)程名稱(chēng)>
實(shí)例:
2、使用 `lsof` 命令
sudo lsof -i :<端口號(hào)>
這也會(huì)顯示占用指定端口的進(jìn)程信息。
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME <進(jìn)程名> <PID> <用戶(hù)> <文件描述符> <類(lèi)型> <設(shè)備> <大小/偏移> <節(jié)點(diǎn)> <地址>
實(shí)例:
如果端口沒(méi)有被占用,這兩個(gè)命令將沒(méi)有輸出。
另外,以上命令可能需要使用 `sudo` 或具有足夠權(quán)限的用戶(hù)才能運(yùn)行。
二、釋放端口
如果通過(guò)上面的操作發(fā)現(xiàn)某個(gè)端口被占用,決定釋放該端口。
通常,端口的釋放是通過(guò)終止占用該端口的進(jìn)程來(lái)實(shí)現(xiàn)的。
1、使用kill命令
使用 `kill` 命令結(jié)束占用端口的進(jìn)程,其中 `<PID>` 是進(jìn)程的標(biāo)識(shí)符:
sudo kill <PID>
2、使用 fuser 命令
另一種找到并殺死占用端口的進(jìn)程的方法是使用 `fuser` 命令:
sudo fuser -k <端口號(hào)>/tcp
三、netstat
netstat
是一個(gè)用于顯示網(wǎng)絡(luò)相關(guān)信息的命令行工具,通常用于檢查網(wǎng)絡(luò)連接、路由表、接口統(tǒng)計(jì)等。
上述 netstat
命令中,選項(xiàng) -tulpn
是一組選項(xiàng)的縮寫(xiě),每個(gè)字母表示特定的信息:
-t
: 顯示 TCP 連接信息。-u
: 顯示 UDP 連接信息。-l
: 顯示監(jiān)聽(tīng)狀態(tài)的連接。-p
: 顯示正在使用套接字的進(jìn)程。-n
: 以數(shù)字形式顯示地址和端口,而不進(jìn)行名稱(chēng)解析。
四、lsof
`lsof`(List Open Files)是一個(gè)用于列出在Unix和類(lèi)Unix系統(tǒng)上打開(kāi)文件的工具。
它還可以用于顯示進(jìn)程打開(kāi)的網(wǎng)絡(luò)連接、Unix域套接字等。
以下是一些常見(jiàn)的用法示例:
1. 列出所有打開(kāi)的文件
lsof
這將列出所有打開(kāi)的文件,包括普通文件、目錄、設(shè)備文件和網(wǎng)絡(luò)套接字等。
2. 列出特定進(jìn)程打開(kāi)的文件
lsof -p <PID>
將 `<PID>` 替換為要查看的進(jìn)程的進(jìn)程ID,這樣你就可以查看特定進(jìn)程打開(kāi)的文件。
3. 列出特定端口被哪個(gè)進(jìn)程占用
lsof -i :<端口號(hào)>
替換 `<端口號(hào)>` 為要查看的端口號(hào),這將顯示占用該端口的進(jìn)程信息。
4. 列出某個(gè)目錄下被哪個(gè)進(jìn)程占用的文件
lsof /path/to/directory
這將顯示在指定目錄下被打開(kāi)的文件。
5. 列出網(wǎng)絡(luò)連接信息
lsof -i
這將顯示系統(tǒng)上的所有網(wǎng)絡(luò)連接,包括打開(kāi)的套接字、端口和連接狀態(tài)。
6. 列出Unix域套接字信息:
lsof -U
這將顯示系統(tǒng)上的所有Unix域套接字信息。
五、fuser
這個(gè)命令用于顯示使用特定文件、套接字或文件系統(tǒng)的進(jìn)程信息。
以下是一些常見(jiàn)選項(xiàng)的解釋?zhuān)?/strong>
-a
,--all
:顯示所有進(jìn)程的信息,包括沒(méi)有訪(fǎng)問(wèn)任何文件的進(jìn)程。-i
,--interactive
:在終止進(jìn)程之前請(qǐng)求確認(rèn)。與 -k 選項(xiàng)一起使用時(shí)生效。-I
,--inode
:使用 inode 號(hào)碼而不是文件名進(jìn)行比較。-k
,--kill
:終止訪(fǎng)問(wèn)指定文件的進(jìn)程。-l
,--list-signals
:列出可用的信號(hào)名稱(chēng)。-m
,--mount
:顯示使用指定文件系統(tǒng)或塊設(shè)備的所有進(jìn)程。-M
,--ismountpoint
:只在指定名稱(chēng)是掛載點(diǎn)時(shí)執(zhí)行。-n
,--namespace SPACE
:在指定的命名空間中搜索(file、udp 或 tcp)。-s
,--silent
:靜默執(zhí)行操作,不顯示消息。-SIGNAL
:在終止進(jìn)程時(shí)發(fā)送指定的信號(hào),而不是默認(rèn)的 SIGKILL。-u
,--user
:顯示用戶(hù) ID 以及進(jìn)程信息。-v
,--verbose
:提供詳細(xì)輸出。-w
,--writeonly
:僅終止具有寫(xiě)訪(fǎng)問(wèn)權(quán)限的進(jìn)程。-V
,--version
:顯示版本信息。-4
,--ipv4
:僅搜索 IPv4 套接字。-6
,--ipv6
:僅搜索 IPv6 套接字。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux解決rsyslog服務(wù)占用內(nèi)存過(guò)高的辦法
當(dāng)我們使用top命令查看內(nèi)存占用時(shí),發(fā)現(xiàn)rsyslogd內(nèi)存占用很高,所以接下來(lái)這篇文章給大家介紹了Linux解決rsyslog服務(wù)占用內(nèi)存過(guò)高的辦法,文中有詳細(xì)的圖文介紹,需要的朋友可以參考下2024-05-05Linux中如何查看已掛載的文件系統(tǒng)類(lèi)型詳解
這篇文章主要給大家介紹了關(guān)于在Linux中如何查看已掛載的文件系統(tǒng)類(lèi)型的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11centos系統(tǒng)為php安裝memcached擴(kuò)展步驟
這篇文章主要介紹了centos系統(tǒng)為php安裝memcached擴(kuò)展的步驟,大家參考使用吧2014-01-01詳解Linux 查看服務(wù)器開(kāi)放的端口號(hào)
本篇文章主要介紹詳解Linux 查看服務(wù)器開(kāi)放的端口號(hào),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03LINUX安全設(shè)置之關(guān)于GRUB加密圖文教程全解
關(guān)于LINUX的啟動(dòng)裝載程序GRUB加密,算是一件很平常的工作。但是今天我在網(wǎng)上查這個(gè)東西,發(fā)現(xiàn)好多人都寫(xiě)的很簡(jiǎn)單,而且方法都比較過(guò)時(shí)。所以,在此我更新下GRUB加密。和大家分享下。2010-03-03centos7下安裝oracle11gR2的詳細(xì)步驟
本篇文章主要介紹了centos7下安裝oracle11gR2的詳細(xì)步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02Apache多虛擬主機(jī)多站點(diǎn)配置的兩種實(shí)現(xiàn)方案
本文介紹了在Apache服務(wù)器上配置多虛擬主機(jī)的兩種方案:基于IP地址的虛擬主機(jī)配置和基于域名的虛擬主機(jī)配置,詳細(xì)說(shuō)明了每個(gè)方案的配置步驟,以實(shí)現(xiàn)在同一臺(tái)服務(wù)器上托管多個(gè)網(wǎng)站的目的,感興趣的可以了解一下2024-09-09Linux?CentOS7?vim重復(fù)行問(wèn)題
這篇文章主要介紹了Linux?CentOS7?vim重復(fù)行問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11