linux 查看端口被占用情况详解

经常在启动一个程序会碰到端口被占用,这里讲一下怎么查看端口是否被占用,及哪个程序占用,怎么Kill掉已占用端口的程序

1、lsof -i:port

port为端口号

[root@slave /data/spark-1.4.0-bin-cdh4]# lsof -i:8080

COMMAND   PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME

impalad 11978  mqq  150u  IPv4 549847837      0t0  TCP *:webcache (LISTEN)

通过上面命令可以查看到8080端口被impalad这个程序占用,进程ID为:11978

如要杀掉该进程,可以执行:

kill -9 11978将该程序杀掉

2、通过netstat 和 ps 两个命令联合起来看占用端口的程序及进程ID

[root@slave /data/spark-1.4.0-bin-cdh4]# netstat -apn|grep 8080  

tcp        0      0 0.0.0.0:8080                0.0.0.0:*                   LISTEN      11978/impalad       

tcp        0      0 192.168.209.16:53501          192.168.209.19:8080           TIME_WAIT   -      

可以看到8080已被impalad占用,并且进程ID为:11978,再通过下面命令可以看到该程序的路径

[root@slave /data/spark-1.4.0-bin-cdh4]# ps -elf|grep impalad

0 S mqq      11978     1  9  80   0 - 15906542 futex_ Jun25 ?     2-01:23:55 /usr/lib/impala/sbin/impalad -log_dir=/data/log/impala -catalog_service_host=host.impala -state_store_port=24000 -use_statestore -webserver_port=8080 -state_store_host=host.impala -be_port=22000 -default_query_options=DEFAULT_ORDER_BY_LIMIT=1000000

0 S root     27963 24729  0  80   0 - 25810 pipe_w 14:37 pts/5    00:00:00 grep impalad

      

 3、netstat -apn|grep 7592

         

相关推荐