Run.getRuntime.exec

来源:互联网 发布:kk棋牌源码 编辑:程序博客网 时间:2024/06/10 11:18

前几天刚解了个棘手的bug,就是Run.getRuntime.exec执行asu 命令总是返回1的问题。
但是把这段出错代码放到main函数执行就会返回0,放到我们的应用程序里面老死返回1
尝试过了百度查到的几乎所有的方法,未果。

刚开始通过getErrorStream获取到的命令错误信息是 Invalid username/password。。
然后我们查找是不是传的参数有问题,尝试过将空格加上“”,还是不行。
第二天想出个办法,不是不知道传的参数到底对不对吗?那就后台查看下呗
ps -ef|grep asu
回车
不停地在终端敲这个命令回车,最终会捕捉到exec执行的命令到底是什么
结果发现木有写错命令传错参数。
那返回1是什么原因呢?
我们的应用程序会影响asu命令的执行,找了个牛掰人问了下,终于发现原来是跟应用程序通讯的硬件不支持建立太多的session,限制个数4个。可是我们的代码创建了多个session,执行asu的时候就无session可用,最终导致命令失败,但也不能返回用户名密码无效啊。。可见asu程序也存在问题。呵呵呵

0 0