File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Java in General and the fly likes Why is not the process terminating after executing the command Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Why is not the process terminating after executing the command" Watch "Why is not the process terminating after executing the command" New topic
Author

Why is not the process terminating after executing the command

Avi Nash
Ranch Hand

Joined: Jul 17, 2003
Posts: 69
Hi
The process is not getting terminated after executing a command.
Should not the process get terminated automatically once the command is executed? Or should we terminate it using a separate command.
The code:
try {
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec(commandToExecute);
process.waitFor();
System.out.println
("Exitvalue="+process.exitValue ());
is just waiting and not coming out.

rgds
Avinash
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24183
    
  34

If the process sent any output to stdout or stderr, it may not terminate until you've read that data, even if you just discard it. Use the getErrorStream() and getInputStream() methods to get the streams.


[Jess in Action][AskingGoodQuestions]
Avi Nash
Ranch Hand

Joined: Jul 17, 2003
Posts: 69
Hi Ernest
Thanks a lot.
After reading the input stream, the process is getting terminated.
But I am not clear as to why should we read this data for the process to terminate.
thx again
rgds
Avinash
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Why is not the process terminating after executing the command