My requirement is as follows:
There is a java desktop application which runs a shell script. The shell script does an ssh to connect to a remote server and does some processing. The output of the shell script will be shown in the java application.
I started out with the following code but the program is getting hung. Any pointers regarding where I am going wrong will be highly appreciated.
1) You need to send an end-of-line (a \n) after the command and to close() the stdin stream.
2) You need to process stderr because if the stderr buffer fills before the process has completed then you will get a deadlock. This should be done in a separate thread.
3) You need to process stdout in a separate thread since again it can cause deadlock if it's buffer becomes full.
You would do well to read the 4 sections of the traps article and implement ALL the recommendations.
Retired horse trader.
Note: double-underline links may be advertisements automatically added by this site and are probably not endorsed by me.