使用的是denicomp的rshdnt来法发送命令到远程机器上执行,并截获数据
目前老是碰到一个莫名其妙的问题
在自己测试的笔记本上,在CMD命令行模式下,执行所有的交换机的巡检指令都能正常返回
在Java程序下使用ProcessBuilder调用rsh方式,执行部分执行结果正常返回,个别命令报"无法确定指令是否安全"(Cannot validate whether the task is dangerous or not),
到了旁边测试的终端上,执行CMD,命令能正常返回
但是使用java程序调用,命令返回后rsh程序仍然执行,导致后续指令无法执行,程序卡死
调出任务管理器,察看执行过程,在自己的笔记本上,每次调用一个巡检过程,都调用rsh,在命令返回后,rsn又自动退出,如此反复
在其他的机器上,测试同样的程序调用,开始巡检时,命令仍然调用rsh来执行,但是rsh没有自动结束,手动结束该进程,可以执行第二条巡检指令,但是rsh又没有自动退出,如此反复结束rsh,总算是命令正常执行,结果也全部得到,但是仍然有个别命令报"无法确定指令是否安全"(Cannot validate whether the task is dangerous or not)
由于所有的测试机器都是2000的系统,而笔记本是XP,所以怀疑是操作系统的问题,将程序调到同事的XP系统上运行,果然测试通过,目前所知,rsh在2000下被调用后,指令结果全部返回后,RSH程序不能像XP下自动结束,导致命令无法返回
正寻找解决的办法.......
周末去邵阳崀山,放松一下自己........