Chinaunix首页 | 论坛 | 博客
  • 博客访问: 576310
  • 博文数量: 113
  • 博客积分: 3322
  • 博客等级: 少校
  • 技术积分: 1565
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-04 11:38
文章分类

全部博文(113)

文章存档

2012年(21)

2010年(92)

分类:

2010-05-12 15:42:56

今天楼下项目组的manager踢掉了电源,导致正在做开发的几台机突然从主机断开。可惜的是他们没有通过DataStage Director中杀掉刚才的连接,而是选择重启datastage服务,这样一来,监听端口没有释放,服务再次启动后不可用。
    以前经常碰到类似的问题,一般情况下重启机器就可以释放。但是这次工作紧而且服务器上又有其他项目的应用正在被使用,无法重新启动。经过半个多小时的摸索,终于解决。
现整理一下解决方法,记录如下:(hp-ux服务器)
1、出现异常断开后,先通过DataStage Director中job——>cleanup resources 中选show all,logout非监听连接 
2、如果没有做1、或者做1、失败而停掉了datastage服务,且启动后不可用。则再次停掉服务并确认,而后在服务器端netstat -a | grep ds 查看结果。如状态为FIN_WAIT_2 or CLOSE_WAIT  
则直接做4、否则看3、
3、本次查看端口状态为ESTABLISHED,应该是还有客户端进程存在,于是ps -ef | grep dsadm(启动datastage服务的用户名)。看到很多进程如dsapi_slave或dscs之类,逐一kill -9 干掉之。再次执行2、,查看返回状态为FIN_WAIT_1
可以去4、了。
4、查找进程号:ndd -get /dev/tcp tcp_status |grep -e state -e FIN_WAIT_1
   断开连接,释放端口:ndd -set /dev/tcp tcp_discon 0x+进程号
   进程号就是返回结果的第一列TCP
阅读(4608) | 评论(2) | 转发(1) |
给主人留下些什么吧!~~

网络安全服务2011-08-04 11:34:30

安何2010-05-15 22:39:52