Centos查看端口占用狀況命令,好比查看80端口占用狀況使用以下命令:linux
lsof -i tcp:80
列出全部端口apache
netstat -ntlp
一、開啓端口(以80端口爲例)centos
方法一:tcp
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 寫入修改 /etc/init.d/iptables save 保存修改 service iptables restart 重啓防火牆,修改生效
方法二:post
vi /etc/sysconfig/iptables 打開配置文件加入以下語句:spa
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT 重啓防火牆,修改完成
二、關閉端口rest
方法一:code
/sbin/iptables -I INPUT -p tcp --dport 80 -j DROP 寫入修改 /etc/init.d/iptables save 保存修改 service iptables restart 重啓防火牆,修改生效
方法二:blog
vi /etc/sysconfig/iptables 打開配置文件加入以下語句:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j DROP 重啓防火牆,修改完成
三、查看端口狀態進程
/etc/init.d/iptables status
有時啓動應用時會發現端口已經被佔用,或者是感受有些端口本身沒有使用卻發現是打開的。這時咱們但願知道是哪一個應用/進程在使用該端口。
CentOS下能夠用netstat或者lsof查看,Windows下也能夠用netstat查看,不過參數會不一樣
Linux:
netstat -nap #會列出全部正在使用的端口及關聯的進程/應用 lsof -i :portnumber #portnumber要用具體的端口號代替,能夠直接列出該端口聽使用進程/應用
一、檢查端口被哪一個進程佔用
代碼以下複製代碼
netstat -lnp|grep 88 #88請換爲你的apache須要的端口,如:80
SSH執行以上命令,能夠查看到88端口正在被哪一個進程使用。以下圖,進程號爲 1777 。
二、查看進程的詳細信息
ps 1777
SSH執行以上命令。查看相應進程號的程序詳細路徑。以下圖。
三、殺掉進程,從新啓動apache
代碼以下複製代碼
kill -9 1777 #殺掉編號爲1777的進程(請根據實際狀況輸入) service httpd start #啓動apache
SSH執行以上命令,若是沒有問題,apache將能夠正常啓動。
Windows系統:
netstat -nao #會列出端口關聯的的進程號,能夠經過任務管理器查看是哪一個任務
最後一列爲程序PID,再經過tasklist命令:tasklist | findstr 2724
再經過任務管理結束掉這個程序就能夠了
原文出處:stnkw -> http://www.stnkw.com/linux/centoschakanduankouzhanyongqingkuanghekaiqiduankoumingling