当前位置: 代码迷 >> 综合 >> java.rmi.server.ExportException: Port already in use: 1984;
  详细解决方案

java.rmi.server.ExportException: Port already in use: 1984;

热度:71   发布时间:2023-11-21 20:05:18.0

如果启动异常会有对应的异常信息,比如:

STATUS | wrapper | 2015/02/14 01:43:44 | --> Wrapper Started as Daemon  STATUS | wrapper | 2015/02/14 01:43:44 | Launching a JVM... INFO | jvm 1 | 2015/02/14 01:43:45 | Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 1984; nested exception is: INFO | jvm 1 | 2015/02/14 01:43:45 | java.net.BindException: Address already in use ERROR | wrapper | 2015/02/14 01:43:45 | JVM exited while loading the application.

日志显示异常原因为java.net.BindException: Address already in use,也就是端口占用,很有可能是原有服务未停止,或者Mycat默认端口被其他程序占用,正常启动成功后会有mycat.log日志,如果服务未启动成功不会有对应的日志。 


1、Windows平台 
在windows命令行窗口下执行: 
1.查看所有的端口占用情况

C:\>netstat -ano

  协议    本地地址                     外部地址               状态                   PID

  TCP    127.0.0.1:1434         0.0.0.0:0              LISTENING       3236
  TCP    127.0.0.1:5679         0.0.0.0:0              LISTENING       4168
  TCP    127.0.0.1:7438         0.0.0.0:0              LISTENING       4168
  TCP    127.0.0.1:8015         0.0.0.0:0              LISTENING       1456
  TCP    192.168.3.230:139      0.0.0.0:0              LISTENING       4
  TCP    192.168.3.230:1957     220.181.31.225:443     ESTABLISHED     3068
  TCP    192.168.3.230:2020     183.62.96.189:1522     ESTABLISHED     1456
  TCP    192.168.3.230:2927     117.79.91.18:80        ESTABLISHED     4732
  TCP    192.168.3.230:2929     117.79.91.18:80        ESTABLISHED     4732
  TCP    192.168.3.230:2930     117.79.91.18:80        ESTABLISHED     4732
  TCP    192.168.3.230:2931     117.79.91.18:80        ESTABLISHED     4732

 

2.查看指定端口的占用情况
C:\>netstat -aon|findstr "9050"

  协议    本地地址                     外部地址               状态                   PID

  TCP    127.0.0.1:9050         0.0.0.0:0              LISTENING       2016

P: 看到了吗,端口被进程号为2016的进程占用,继续执行下面命令: (也可以去任务管理器中查看pid对应的进程)

3.查看PID对应的进程
C:\>tasklist|findstr "2016"

 映像名称                       PID 会话名              会话#       内存使用
 ========================= ======== ================
  tor.exe                     2016 Console                 0     16,064 K 

P:很清楚吧,tor占用了你的端口。

 

4.结束该进程

C:\>taskkill /f /t /im tor.exe

lsof -i:1984


 kill -9 24290

再重启


Linux通过PID查看进程完整信息

[root@gsidc-4q-saas23 ~]# netstat -anp|grep 8282
tcp 0 0 :::8282 :::* LISTEN 16923/java 
[root@gsidc-4q-saas23 ~]# ps -ef|grep 16923
root 7270 7128 0 10:55 pts/6 00:00:00 grep 16923
mbs 16923 1 0 2017 ? 00:33:22 /home/mbs/jdk1.7.0_79/bin/java -Djava.util.logging.config.file=/home/mbs/xct-manage/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -Xms64m -Xmx1024m -XX:MaxPermSize=256m -XX:+UseParallelGC -XX:+DisableExplicitGC -XX:+HeapDumpOnOutOfMemoryError -Ddubbo.registry.file=dubbo.cache -Djava.endorsed.dirs=/home/mbs/tomcat/endorsed -classpath /home/mbs/tomcat/bin/bootstrap.jar:/home/mbs/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/home/mbs/xct-manage/tomcat -Dcatalina.home=/home/mbs/tomcat -Djava.io.tmpdir=/home/mbs/xct-manage/tomcat/temp org.apache.catalina.startup.Bootstrap start
[root@gsidc-4q-saas23 ~]#

 

1、netstat -anp|grep 8282

查看此端口的占用情况;16923为pid

2、ps -ef|grep 16923

查看该pid的进程的详细信息;

 

不积跬步无以至千里,不积小流无以成江海


  相关解决方案