ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690]
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
解决方案:
以上证明有地址被用,我catalina.sh里加了个远程debug端口号8001.
解决方法:
1、通知在联机debug的人关闭联调。
2、直接关闭服务器端进程
cst@wom:~/tomcat7_new/bin$ lsof -i:8001
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 12889 cst 4u IPv4 3600348 0t0 TCP *:8001 (LISTEN)
[root@localhost ~]# kill -9 12889
附:lsof命令详解:
lsof命令 详解
lsof:一个功能强大的命令
lsof命令的原始功能是列出打开的文件的进程,但LINUX下,所有的设备都是以文件的行式存在的,所以,lsof的功能很强大!
语法:lsof [-?ahlnNPRsv][-c c][+|-d d][+|-D D][-g [s]] [+|-L [I]][-p s][+|-r [t]][-u s][names]
参数说明:若没有加上任何参数,lsof会列出所有被程序开启的文件。
-? -h 这两个参数意思相同,显示出lsof的使用说明 -a 参数被视为AND,会影响全部的参数
-C c 显示出以字符或字符串c开头的命令程序开启的文件,如$lsof -C init
+d s 在文件夹s下搜寻,此参数不会继续深入搜寻此文件夹。如显示在/usr/local下被程序开启的文件:$lsof +d /usr/local +D D 同上,但是会以该文件为基础往下全部搜寻,这样花费较大的CPU时 间,请谨慎使用
-d s 此参数以file descriptor(FD)值显示结果,可以采用范围(1-3)或个别,如显示FD为4的进程:$lsof -d 4
-g [s] 以程序的PGID显示,也可以采用范围或个别表示,若没有特别指定,则显示全部,如显示PGID为6的进程:$lsof -g 6
-i 用以监听有关的任何符合的地址,若没有相关地址被指定,则监听全部
语法: lsof -i [46][protocol][@hostname|hostaddr][:serivce|port]
说明: 46 IPv4 or IPv6
protocol TCP or UDP
hostname internet host name
hostaddr IPv4地址
service /etc/service中的service name
port 端口号
-l 此参数禁止将user ID 转换为登录的名称,默认是登录名称
+|-L [l] +或-表示开启或关闭显示文件连接数,如果只有单纯的+L,后面没有任何数字,则表示显示全部,如果后面有数字,只有文件连接数少于该数字的会被列出
-n 不将IP地址转换为hostname,预设是转换的
-N 显示NFS的文件
-p s 以PID作为显示的依据
-P 此参数禁止将port number转换为service name,预设为转换
+|-r [t] 控制lsof不断重复执行,t为15秒,也就是说每隔15秒再重复执行 +r 一直执行,直到没有文件被显示 -r 永远不断的执行,直到收到中断讯号(ctrl+ c)
-R 此参数增列出PID的子程序,也就是PPID
-s 列出文件的大小,若该文件没有大小,则留下空白
-u s 列出login name或UID为的程序
-v 显示lsof的版本信息
lsof命令的妙用:
当 UNIX 计算机受到入侵时,常见的情况是日志文件被删除,以掩盖攻击者的踪迹。管理错误也可能导致意外删除重要的文件,比如在清理旧日志时,意外地删除了数据库的活动事务日志。有时可以恢复这些文件,并且 lsof 可以为您提供帮助。
当进程打开了某个文件时,只要该进程保持打开该文件,即使将其删除,它依然存在于磁盘中。这意味着,进程并不知道文件已经被删除,它仍然可以向打开该文件时提供给它的文件描述符进行读取和写入。除了该进程之外,这个文件是不可见的,因为已经删除了其相应的目录条目。
# lsof | grep error_log
httpd 2452 root 2w REG 33,2 499 3090660
/var/log/httpd/error_log (deleted)
httpd 2452 root 7w REG 33,2 499 3090660
/var/log/httpd/error_log (deleted)
... more httpd processes ...
在这个示例中,您可以看到 PID 2452 打开文件的文件描述符为 2(标准错误)和 7。因此,可以在 /proc/2452/fd/7 中查看相应的信息,如清单 1 所示。
清单 1. 通过 /proc 查找删除的文件
# cat /proc/2452/fd/7
[Sun Apr 30 04:02:48 2006] [notice] Digest: generating secret for digest authentication
[Sun Apr 30 04:02:48 2006] [notice] Digest: done
[Sun Apr 30 04:02:48 2006] [notice] LDAP: Built with OpenLDAP LDAP SDK
Linux
的优点在于,它保存了文件的名称,甚至可以告诉我们它已经被删除。在遭到破坏的系统中查找相关内容时,这是非常有用的内容,因为攻击者通常会删除日志以隐
藏他们的踪迹。Solaris 并不提供这些信息。然而,我们知道 httpd 守护进程使用了 error_log 文件,所以可以使用 ps
命令找到这个 PID,然后可以查看这个守护进程打开的所有文件。
分享到:
相关推荐
### Linux下Socket编程的端口问题 (Bind(): Address already in use) #### 一、问题背景与常见场景 在进行Linux下的网络编程时,经常会遇到端口绑定失败的问题,尤其是在使用`bind()`函数尝试绑定端口时,可能会...
【Java中的`java.net.BindException: Address already in use: JVM_Bind`异常】 在Java编程中,当你尝试启动一个服务器端应用,如Tomcat,或者任何需要监听特定端口的服务时,可能会遇到`java.net.BindException: ...
然而,在启动 Tomcat 时,偶尔会遇到报错“Address already in use: JVM_Bind <null>:8080”,这意味着端口 8080 已经被占用。 为什么会出现这种情况?这通常是因为某个进程已经占用了端口 8080,阻止了 Tomcat 的...
在myeclipse中将html文件改成jsp文件时myeclipse卡住;将之前的任务关掉;再打开时多次部署项目的时候报错
在编程和系统开发过程中,我们可能会遇到一个常见的错误——"Address already in use: JVM_Bind"。这个错误通常发生在尝试绑定一个已经被占用的网络端口时。本文将深入探讨这个问题,提供解决方案,并从源码角度解析...
"Address already in use: JVM_Bind(端口冲突)" 是一个常见的Java错误,它发生在尝试绑定一个已经被其他进程使用的网络端口时。在Java应用程序中,比如使用Jetty这样的服务器,当我们试图启动一个新的服务器实例时...
尝试启动服务时,系统报错“nginx: [emerg] bind() to *.*.*.*:80 failed (98: Address already in use)”,提示无法绑定到地址和端口。 接下来,通过使用`lsof -i:80`命令来查看占用80端口的进程,发现是nginx进程...
在Android开发过程中,网络通信是应用的重要组成部分,而使用UDP(User Datagram Protocol)进行数据传输时,可能会遇到`java.net.BindException: bind failed: EADDRINUSE`的问题。这个异常通常意味着应用程序尝试...
nested exception is: java.net.BindException: Address already in use: JVM_Bind 这里说的是1099端口被其它进程占用了. 二.解决办法 找出占用1099端口的进程,进入windows命令,查看什么进程占用了1099端口...
0432_极智开发_解读antdp报错tcp 8080 bind address already in use
driver failed programming external connectivity on endpoint tomcat (容器ID): Error starting userland proxy: listen tcp 0.0.0.0:8080: bind: address already in use”。此错误意味着在你的主机系统或容器...
C++ 11 std::function和std::bind使用详解 C++ 11 中引入了两个重要的功能:std::function 和 std::bind,它们都是基于 C++ 11 的新特性,用于实现函数指针的功能。下面将详细介绍这两个功能的使用和区别。 std::...
赠送jar包:jakarta.xml.bind-api-2.3.3.jar; 赠送原API文档:jakarta.xml.bind-api-2.3.3-javadoc.jar; 赠送源代码:jakarta.xml.bind-api-2.3.3-sources.jar; 赠送Maven依赖信息文件:jakarta.xml.bind-api-...
根据提供的文件内容,以下是关于BIND9管理员参考手册-9.16.0的知识点详细说明: 1. BIND9概述: BIND9是Berkeley Internet Name Domain的第九版,是互联网上使用最广泛的DNS服务器软件之一。 BIND9.16.0是稳定版本...
Mar 21 21:25:02 VM_0_9_centos httpd: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80 Mar 21 21:25:02 VM_0_9_centos httpd: (98)Address already in use: AH00072: make_...
Windows Socket 错误码及出错原因 Windows Socket 错误码是 Windows 操作系统中用于描述和处理网络通信错误的代码。这些错误码可以分为四个部分,即 Windows Sockets 实现返回的错误码、Berkeley Sockets 定义的...
Failed to bind to address(解决方案).md
在Linux系统中,尤其是CentOS 7这样的发行版,运行.sh脚本时遇到"**syntax error: unexpected end of file**"或"**syntax error near unexpected token 'fi'**"这样的错误,通常是因为脚本文件的格式问题。...
赠送jar包:jakarta.xml.bind-api-2.3.3.jar; 赠送原API文档:jakarta.xml.bind-api-2.3.3-javadoc.jar; 赠送源代码:jakarta.xml.bind-api-2.3.3-sources.jar; 赠送Maven依赖信息文件:jakarta.xml.bind-api-...
赠送jar包:jakarta.xml.bind-api-2.3.2.jar; 赠送原API文档:jakarta.xml.bind-api-2.3.2-javadoc.jar; 赠送源代码:jakarta.xml.bind-api-2.3.2-sources.jar; 赠送Maven依赖信息文件:jakarta.xml.bind-api-...