• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Why is not the process terminating after executing the command

 
Avi Nash
Ranch Hand
Posts: 69
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Pie
Posts: 24212
35
Chrome Eclipse IDE Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Avi Nash
Ranch Hand
Posts: 69
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic