Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-1229451

Process.waitFor() waits forever after first command is executed

XMLWordPrintable

    • 1.0beta2
    • sparc
    • generic
    • Not verified

      class Hang {
          public static void main(String[] args) {
              Runtime r = Runtime.getRuntime();
              String cmd = "/bin/true";
              while (true) {
                  System.out.println("Running " + cmd);
                  try {
                      Process p = r.exec(cmd);
                      int v = p.waitFor();
                      System.out.println(cmd + " returned " + v);
                  } catch (Exception e) {
                      System.err.println("Exception " + e);
                  }
              }
          }
      }

      Consider the above program. When I run it under Solaris with jdk.beta, I get:

      Running /bin/true
      pid 790 status 0
      Received sigchild for 790 exit=0
      /bin/true returned 0
      Running /bin/true

      The second Process.waitFor() never returns, even though the process does exit.

      DREL 11/27/95

            tlindholsunw Timothy Lindholm (Inactive)
            dlong Dean Long
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: