AR28/AR46系列路由器作为终端接入服务器终端大面积挂死问题的解决方法
问题现象:
某省银行业务系统使用AR28路由器作为终端接入服务器,ttyd程序采用的是tty414版本,使用时出现终端大面积死机情况,此时查看主进程的日志文件可以看到类似信息:ttyname=, ip=0.0.0.0, termNo=-1,并且有主进程停止的信息。
问题原因:
当主进程创建子进程成功后,子进程会先暂停200ms(sleep 200ms)让主进程先运行,由于子进程刚启动又立即退出,其时差非常小(小于200ms)。这时候主进程还没有将子进程的异常处理函数挂接到子进程,从而导致子进程退出时调用了主进程的异常处理函数,该函数在这种情况下会杀死所有的子进程,从而导致终端大面积挂死现象的出现。
解决办法:
在子进程成功创建后的前200 ms内ttyd程序忽略对中止信号的处理,在ttyd416版本上解决了该问题,如果遇到类似问题可以用ttyd416及更高的版本来解决。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作