新聞中心
,sudo lsof -i :80 | grep LISTEN,“在Linux系統(tǒng)中,端口是進(jìn)程間通信的一種方式,每個(gè)進(jìn)程都有一個(gè)或多個(gè)端口與之關(guān)聯(lián),用于接收和發(fā)送數(shù)據(jù),當(dāng)我們?cè)跒g覽器中訪問一個(gè)網(wǎng)站時(shí),實(shí)際上是通過HTTP協(xié)議與服務(wù)器的某個(gè)端口進(jìn)行通信,了解如何查看80端口被哪個(gè)進(jìn)程占用,對(duì)于排查網(wǎng)絡(luò)問題和系統(tǒng)故障非常有幫助。

十多年的延邊朝鮮族網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整延邊朝鮮族建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“延邊朝鮮族網(wǎng)站設(shè)計(jì)”,“延邊朝鮮族網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
本文將介紹如何在Linux系統(tǒng)中查看80端口被哪個(gè)進(jìn)程占用的方法。
1. 使用lsof命令
lsof(list open files)是一個(gè)列出當(dāng)前系統(tǒng)打開文件的工具,我們可以使用它來查看哪些進(jìn)程正在使用某個(gè)端口,要查看80端口被哪個(gè)進(jìn)程占用,可以使用以下命令:
sudo lsof i :80
執(zhí)行該命令后,你將看到類似以下的輸出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 12345 wwwdata 7u IPv4 12345 0t0 TCP *:http (LISTEN) nginx 12346 wwwdata 7u IPv4 12346 0t0 TCP *:http (LISTEN)
從輸出中可以看出,有兩個(gè)名為nginx的進(jìn)程正在監(jiān)聽80端口,PID為12345的進(jìn)程是主進(jìn)程,PID為12346的進(jìn)程是工作進(jìn)程。
2. 使用netstat命令
netstat(network statistics)是一個(gè)顯示網(wǎng)絡(luò)狀態(tài)的命令,我們可以使用它來查看哪些進(jìn)程正在使用某個(gè)端口,要查看80端口被哪個(gè)進(jìn)程占用,可以使用以下命令:
sudo netstat tuln | grep :80
執(zhí)行該命令后,你將看到類似以下的輸出:
tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN off (12345/nginx) tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN off (12346/nginx)
從輸出中可以看出,有兩個(gè)名為nginx的進(jìn)程正在監(jiān)聽80端口,PID為12345的進(jìn)程是主進(jìn)程,PID為12346的進(jìn)程是工作進(jìn)程。
3. 使用ss命令
ss(socket statistics)是一個(gè)顯示套接字統(tǒng)計(jì)信息的命令,我們可以使用它來查看哪些進(jìn)程正在使用某個(gè)端口,要查看80端口被哪個(gè)進(jìn)程占用,可以使用以下命令:
sudo ss tuln | grep :80
執(zhí)行該命令后,你將看到類似以下的輸出:
LISTEN 0 128 *:http *:* users:(("nginx",pid=12345,fd=7),("nginx",pid=12346,fd=7))
從輸出中可以看出,有兩個(gè)名為nginx的進(jìn)程正在監(jiān)聽80端口,PID為12345的進(jìn)程是主進(jìn)程,PID為12346的進(jìn)程是工作進(jìn)程。
4. 使用top命令
top命令可以實(shí)時(shí)顯示系統(tǒng)中各個(gè)進(jìn)程的資源占用情況,我們可以使用它來查看哪些進(jìn)程正在使用某個(gè)端口,要查看80端口被哪個(gè)進(jìn)程占用,可以在終端中輸入top命令,然后按下Shift + F9鍵,切換到“內(nèi)存”視圖,接著按下Shift + F7鍵,切換到“按CPU使用率排序”視圖,最后按下Shift + F8鍵,切換到“按內(nèi)存使用率排序”視圖,此時(shí),你將看到類似以下的輸出:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 12345 wwwdata 20 0 12345 7896 6564 S 0.3 0.1 0:15.69 httpd 12346 wwwdata 20 0 12346 7896 6564 S 0.3 0.1 0:15.69 httpd 1 root 20 0 0 0 0 S 0.0 0.0 0:01.29 systemdjournal 1 root 20 0 0 0 0 S 0.0 0.0 0:03.75 kthreadd ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
從輸出中可以看出,有兩個(gè)名為httpd的進(jìn)程正在監(jiān)聽80端口,PID為12345的進(jìn)程是主進(jìn)程,PID為12346的進(jìn)程是工作進(jìn)程,這兩個(gè)進(jìn)程可能是Nginx服務(wù)器的組件。
相關(guān)問題與解答:
問題1:為什么在lsof命令的輸出中,有的主進(jìn)程的PID比工作進(jìn)程的PID???
解答:這可能是因?yàn)橹鬟M(jìn)程在啟動(dòng)時(shí)創(chuàng)建了工作進(jìn)程,所以它的PID會(huì)比工作進(jìn)程小,但這并不影響它們之間的關(guān)聯(lián)關(guān)系,我們可以通過查看其他信息(如COMMAND列)來判斷它們之間的關(guān)系。
問題2:為什么在netstat和ss命令的輸出中,沒有顯示進(jìn)程的名稱?
解答:這是因?yàn)檫@些命令默認(rèn)不顯示進(jìn)程的名稱,如果需要顯示進(jìn)程的名稱,可以使用p選項(xiàng)或者結(jié)合grep命令來實(shí)現(xiàn)。sudo netstat tuln | grep ':80' | grep 'nginx'。
問題3:為什么在top命令的輸出中,有些進(jìn)程的名稱是數(shù)字?
分享標(biāo)題:linux如何查看80端口被哪個(gè)進(jìn)程占用了
瀏覽路徑:http://www.5511xx.com/article/ccehsic.html


咨詢
建站咨詢
