<p>Centos查看端口占用情况命令,比如查看80端口占用情况使用如下命令:</p><p></p><p>lsof -i tcp:80</p><p></p><p>列出所有端口</p><p></p><p>netstat -ntlp</p><p></p><p>1、开启端口(以80端口为例)</p><p></p><p> 方法一:</p><pre class="brush:bash;toolbar:false">/sbin/iptables-IINPUT-ptcp--dport80-jACCEPT写入修改 /etc/init.d/iptablessave保存修改 serviceiptablesrestart重启防火墙,修改生效</pre><p></p><p> 方法二:</p><pre class="brush:bash;toolbar:false"> vi/etc/sysconfig/iptables打开配置文件加入如下语句: -AINPUT-ptcp-mstate--stateNEW-mtcp--dport80-jACCEPT重启防火墙,修改完成</pre><p></p><p></p><p></p><p>2、关闭端口</p><p></p><p> 方法一:</p><pre class="brush:bash;toolbar:false"> /sbin/iptables-IINPUT-ptcp--dport80-jDROP写入修改 /etc/init.d/iptablessave保存修改 serviceiptablesrestart重启防火墙,修改生效</pre><p></p><p> 方法二:</p><pre class="brush:bash;toolbar:false">vi/etc/sysconfig/iptables打开配置文件加入如下语句: -AINPUT-ptcp-mstate--stateNEW-mtcp--dport80-jDROP重启防火墙,修改完成</pre><p></p><p></p><p></p><p>3、查看端口状态</p><p></p><p> /etc/init.d/iptables status</p><p>有时启动应用时会发现端口已经被占用,或者是感觉有些端口自己没有使用却发现是打开的。这时我们希望知道是哪个应用/进程在使用该端口。</p><p>CentOS下可以用netstat或者lsof查看,Windows下也可以用netstat查看,不过参数会不同</p><p>Linux:</p><p>netstat -nap #会列出所有正在使用的端口及关联的进程/应用</p><p>lsof -i :portnumber #portnumber要用具体的端口号代替,可以直接列出该端口听使用进程/应用</p><p>一、检查端口被哪个进程占用</p><p>代码如下</p><pre class="brush:bash;toolbar:false">netstat-lnp|grep88#88请换为你的apache需要的端口,如:80 SSH执行以上命令,可以查看到88端口正在被哪个进程使用。</pre><p>二、查看进程的详细信息</p><p>ps 1777</p><p>SSH执行以上命令。查看相应进程号的程序详细路径。</p><p>三、杀掉进程,重新启动apache</p><p>代码如下<span class="Apple-tab-span" > </span></p><pre class="brush:bash;toolbar:false">kill-91777#杀掉编号为1777的进程(请根据实际情况输入) servicehttpdstart#启动apache</pre><p>SSH执行以上命令,如果没有问题,apache将可以正常启动。</p><p>Windows系统:</p><p>netstat -nao #会列出端口关联的的进程号,可以通过任务管理器查看是哪个任务</p><p>最后一列为程序PID,再通过tasklist命令:tasklist | findstr 2724</p><p>再通过任务管理结束掉这个程序就可以了</p>
T:0.007577s,M:247.09 KB
返回顶部 留言