java 使用Runtime.getRuntime().execx 执行失败

  • Post author:
  • Post category:java


问题

  • java 使用Runtime.getRuntime().execx执行kstat -p -m /’/^e1000g0|^e1000g$//’失败

    • m_process.waitFor()总是返回1
    • 0 表示命令执行成功
    • 1 表示命令语法错误
    • 2 表示命令执行错误
  • 解决过程

    • 开始不知道为什么出错

      • 将命令改为 kstat -p -m /^e1000g0/就可以成功
      • 将上了单引号以后,就始终返回1, 即语法错误
      • 尝试将单引号改为双引号还是出错

        • 但是双引号在solaris下也能执行成功
    • 问google

      • 查Runtime.getRuntime.exec

        • 发现有个老兄翻译的别人的一篇文章中有提到,使用Runtime.getRuntime.exec调用重定向有问题
        • 心里隐约觉得,自己的方向可能错了,可能并不是一个单引号那么简单的,导致waitFor返回1
        • http://lusong163.itpub.net/post/14139/66778
      • 查getRuntime().exec 重定向

        • 这是第二天的事了,前天弄到晚上十点,没解决

          • 知道没那么容易解决,自己的身体要紧,明天还要回上海呢
        • 找到另一个老兄的问题

          • http://topic.csdn.net/t/20050309/16/3837564.html#
          • 他遇到的和我的不一样,他是调用 ps   -ef   |   grep   SSS   |   grep   -v   grep   |   awk   ‘{print   $2}’
          • 我估计可能也是和这个引号有关系



版权声明:本文为fhqiplj原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。