经常在启动一个程序会碰到端口被占用,这里讲一下怎么查看端口是否被占用,及哪个程序占用,怎么Kill掉已占用端口的程序
1、lsof -i:port
port为端口号
grep命令查看进程 [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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。