首页 >> IT知识库 >> Linux >>linux下环境变化引起程序运行异常的问题
详细内容

linux下环境变化引起程序运行异常的问题

问题现象:程序可以运行但是无法正常工作
系统版本:redhat linux 6.0 x86_64
JAVA版本:1.6.0
问题描述:JAVA的一个程序,用于采集apache的ssl日志,此前一直正常运行1年多,由于维护的需要,近日对该程序进行了手动停止运行,再恢复启动的操作,在停止前程序正常运行,并且日志一直在采集,停止再次启动后发现程序不再采集日志文件 ,但是能够读到目标日志文件,显示开始读,但是没有后续动作。

背景信息:故障发生前未对采集程序做过任何修改操作,目标日志文件路径及名称未做修改,文件编码也未做修改,程序以root用户安装,并以root用户运行,目前看来文件权限都是root。

问过系统管理员,说也没有对操作系统进行过变更操作,当然这话不太可信,因为不止一个人对系统有root操作权限。

问题分析处理:
1、卸载程序,操作失败
原因是因为登陆的用户虽是root权限,但并不是root用户,而是一个添加了0权限的用户,系统当中存在两个root权限的用户。
删除非root的为root权限的用户后,卸载成功。
2、重新安装程序
安装正常,配置正常,和之前配置保持一致,还是未能解决问题。
3、在外面单独搭建环境进行测试
同样的程序,同样的配置,同样的系统版本,同样的目标日志文件 ,测试通过。
4、通过strace跟踪java进程
发现有读目标文件的动作和内容,但是没有写的动作。

依据上面的测试分析,问题原因初步分析得出应该在操作系统上,但是由于对系统的了解有限,目前还没有找到引起java进程运行异常的原因。

我主要问题还是:为何此前一直运行正常,停止再运行后就不正常了,系统环境当中什么因素可能导致这类问题。

回答:在正常的机器上和不正常的机器上分别把程序启动起来,执行命令:
ps -ef | grep java

看看两台机器上java进程的环境变量和参数有何差异

在线客服
- 客户经理
  • 点击这里给我发消息
  • 点击这里给我发消息
技术支持: 建站ABC | 管理登录