Normalt er der ikke så meget rent IPC support i java :-) Når du har startet en separat process er der kun seks ting man kan gøre: vente på at den terminerer Terminere den Aflæse dens termineringsstatus Fodre data til dens input Modtage dens output Modtage dens fejlbeskeder.
Afhængig af programmet pdls -F som jeg ikke kender, så må det at den svarer betyde at den udskriver nogle ting til skærmen. Eller hvad, for så er svaret: Process p = rt.exec(\"/usr/lpp/pd/bin/pdls -F\"); InputStream s = p.getInputStream(); Thread.sleep(x); if (s.available() > 0 ) System.out.println(\"Some response has come up\");
Alternativt, det at den svarer kan også betyde at programmet kan køres, for så ville jeg lige lave en check: File f = new File(\"/usr/lpp/pd/bin/pdls -F\"); if (!f.exists() || !f.isFile()) System.err.println(\"Go nood talking to this one.\");
Du kan iøvrigt også fra en Process undersøge, om den stadig er kørende med: p.exitValue() Hvis den smider en IllegalStateException, er den stadig kørende.
Jeg skal gøre dig opmærksom på, at der er ikke er noget som helst i specs som siger at processen skal se hverken synkron eller asynkron.
det er precist den første du skrev jeg ledte efter !!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.