社区
C++ 语言
帖子详情
oracle进程老是与我抢端口,怎么解决?
luck_wei
2010-09-13 03:58:37
我的程序是linux环境下开发的,初始化时启动socket监听23456端口;
初始化完成后使用lsof查看23456端口发现oracle的进程也在监听这个端口;
谁知道什么原因?
...全文
242
20
打赏
收藏
oracle进程老是与我抢端口,怎么解决?
我的程序是linux环境下开发的,初始化时启动socket监听23456端口; 初始化完成后使用lsof查看23456端口发现oracle的进程也在监听这个端口; 谁知道什么原因?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
luck_wei
2010-09-16
打赏
举报
回复
[Quote=引用 18 楼 justkk 的回复:]
你的程序中有没有创建子进程?
[/Quote]
有
justkk
2010-09-16
打赏
举报
回复
或许是看起来子进程监听了那个端口..
子进程有没有调用exec()?
luck_wei
2010-09-15
打赏
举报
回复
[Quote=引用 12 楼 wjjll123 的回复:]
晕,我以前搞java的时候。也正常这样。oracle总是和我抢端口。我也懒得改oracle用的端口。每次都是在oracle用那个端口之前,我就先占了那个端口。。。。
然后我程序关了就把oracle也关了。。。。。这样就行了。。。。不过治标不治本啊。。。
[/Quote]
这也是个办法,不过挺麻烦的。
luck_wei
2010-09-15
打赏
举报
回复
[Quote=引用 13 楼 wangjianbo1123 的回复:]
我理解的是不可能两个程序监听同一个端口,如果可以,那么,当有数据来的时候,这两个程序都会收到相应的数据,这个不是乱套了吗?再说了,像oracle这样的进程,不可能监听这个端口的,常用的进程一般都是监听1024以下的端口。 出现你这种情况我觉得有可能是你在退出你的程序后,没有关闭监听的套接字(closesocket())试试看
[/Quote]
确实很难理解这个现象。感觉就像oracle的进程排在你进程的后面,如果你的进程退出后它就马上占了这个端口。但是有意思的是我如果不监听任何端口,它也不做任何操作。
如果直接杀掉进程就无法关闭监听的套接字。
zhanshen2891
2010-09-15
打赏
举报
回复
你也设置端口重用就可以了
wangjianbo1123
2010-09-15
打赏
举报
回复
我理解的是不可能两个程序监听同一个端口,如果可以,那么,当有数据来的时候,这两个程序都会收到相应的数据,这个不是乱套了吗?再说了,像oracle这样的进程,不可能监听这个端口的,常用的进程一般都是监听1024以下的端口。 出现你这种情况我觉得有可能是你在退出你的程序后,没有关闭监听的套接字(closesocket())试试看
wjjll123
2010-09-15
打赏
举报
回复
晕,我以前搞java的时候。也正常这样。oracle总是和我抢端口。我也懒得改oracle用的端口。每次都是在oracle用那个端口之前,我就先占了那个端口。。。。
然后我程序关了就把oracle也关了。。。。。这样就行了。。。。不过治标不治本啊。。。
luck_wei
2010-09-15
打赏
举报
回复
netstat -an|grep 23456查看确实只有一个
但是问题是,如果我的程序退出了端口就被占用了。这个怎么解释?
justkk
2010-09-15
打赏
举报
回复
你的程序中有没有创建子进程?
genlic
2010-09-15
打赏
举报
回复
肯定是你的问题。。。
justkk
2010-09-13
打赏
举报
回复
[Quote=引用 9 楼 luck_wei 的回复:]
引用 7 楼 justkk 的回复:
你是说你的程序杀掉之前,和oracle同时监听23456端口??
是的,只不过我的程序排在前面。
[/Quote]
哦?同一个端口能同时被两个程序监听?
你用netstat -an|grep 23456看看呢..
luck_wei
2010-09-13
打赏
举报
回复
[Quote=引用 7 楼 justkk 的回复:]
你是说你的程序杀掉之前,和oracle同时监听23456端口??
[/Quote]
是的,只不过我的程序排在前面。
mengde007
2010-09-13
打赏
举报
回复
设置参数让端口重用。
justkk
2010-09-13
打赏
举报
回复
你是说你的程序杀掉之前,和oracle同时监听23456端口??
luck_wei
2010-09-13
打赏
举报
回复
[Quote=引用 4 楼 justkk 的回复:]
你的程序退出后,那端口也不是LISTEN状态吧
不影响你的程序使用
[/Quote]
是LISTEN状态
luck_wei
2010-09-13
打赏
举报
回复
整个过程是这样的:
1、程序启动之前23456端口在系统中未被占用
2、程序启动后23456端口(监听成功,可以与其他进程进行通信),此时oracle的进程也监听此端口
3、杀掉程序释放23456端口,但是oracle的进程并不释放
4、再次启动程序时监听23456端口失败
justkk
2010-09-13
打赏
举报
回复
你的程序退出后,那端口也不是LISTEN状态吧
不影响你的程序使用
冻结
2010-09-13
打赏
举报
回复
你去找一个别人不用的端口用。
luck_wei
2010-09-13
打赏
举报
回复
程序中确实使用了oracle数据库,但问题是当我的程序退出以后oracle的进程并不退出依然占有着此端口。
justkk
2010-09-13
打赏
举报
回复
不是吧,应该是你的程序使用了oracle数据库,让lsof看起来是这样子了..
解决
oracle
数据库TNSLSNR.exe
进程
占用8080
端口
,导致tomcat无法正常启动问题
Oracle
10g服务一启动 TNSLSNR.exe 会占用8080
端口
,导致tomcat无法正常启动,这时,需要改一下
端口
: 用
oracle
提供的包: -- 把HTTP/WEBDAV
端口
从8080改到8081 SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(), '/xdbconfig/sysconfig
ORACLE
修改
端口
号之后无法启动?
摘要:
Oracle
数据库
端口
更改后监听器无法启动常见原因包括配置文件语法错误(如listener.ora括号不匹配)、
端口
冲突、防火墙拦截及客户端配置未同步。系统
解决
方案包含:1)修正监听器配置文件的括号嵌套与路径;2)更新客户端tnsnames.ora
端口
参数;3)重启监听器并验证状态;4)处理
端口
占用(netstat/kill)和防火墙规则;5)检查文件权限与环境变量。关键预防措施包括配置备份、tnsping测试连通性,RAC环境需用srvctl工具修改。80%问题源于配置遗漏,需严格校验语法并同步双文
杀死所有
oracle
进程
端口
,DOS查看
端口
占用及杀掉
进程
命令
MyEclipse启动tomcat时出现
端口
被占用的问题:1. 查看
端口
占用在windows命令行窗口下执行:netstat -aon|findstr 8080TCP127.0.0.1:80 0.0.0.0:0 LISTENING 2448
端口
“8080”被PID(
进程
号)为2448的
进程
占用。查看
端口
“8080”被哪个应用占用,,继续执行下面命令:tasklist|findstr "2448"n...
tomcat和mysql
端口
冲突吗_Linux下
Oracle
Tomcat 8080
端口
冲突
解决
在启动tomcat的时候提示8080
端口
被占用,后来经过查找发现如下结论:将
oracle
与tomcat、jboss等其它占用8080
端口
的服务器安装在一在启动tomcat的时候提示8080
端口
被占用,后来经过查找发现如下结论:将
Oracle
与tomcat、jboss等其它占用8080
端口
的服务器安装在一台机器上,会出现8080
端口
被占用的错误。一、首先检查8080
端口
的使用情况[root@oliv...
Oracle
需要什么需要,访问
Oracle
需要开放哪些
端口
?
如果之间有防火墙的话,还要注意:要使
Oracle
客户端能正常连接到设置有防火墙的
Oracle
服务器,单开放一个1521或自定义的监听
端口
是不够的。昨天晚上为了测试BOM的多层转单层程序,而需要连接到服务器上的
Oracle
将数据导入。因为服务器重装成Windows2003了,并开放了系统自带的防火墙,在连接中发现在防火墙上打开监听
端口
1521后还是无法连通,报连接超时错误。于是试将防火墙关闭,就可以...
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章