Runtime.exec() Problem.

Mike Boilen mgb at cs.brown.edu
Sun Sep 6 08:43:41 PDT 1998


What version of Kaffe are you using?  I know there were a bunch of
patches to Runtime.exec() since 1.0b1 was released.  You might want to
try using the latest kaffe-snap and see if that helps.

Mike


On Sun, Sep 06, 1998 at 10:33:50AM -0400, Patrick W. O'Neill wrote:
> Hello, I'm relatitivly new to Java, and even moreso to Kaffe.  We have a 
> demonstration that runs only on Linux.  This demo generates a logfile, 
> which is read by our java program to display graphically what is going 
> on.  Previously, we would generate the logfile on a Linux machine, and 
> run the Java demo on Solaris with the JDK.  We would like to be able to 
> generate the logfile on the fly, so our only option is to run the Java 
> demo on the linux machine.  That is where Kaffe comes in.  
> 
> We had to do a lot of updating of our code, the books we had were 1.0 
> books, and JDK is more forgiving of deprecated functions than Kaffe is, 
> so we had no need to use 1.1 code until we decided to use Kaffe.  We got 
> that all straightend out, but we're having one main problem.  We need to 
> run our program from inside our java demo, this would lead me to using a 
> Runtime.exec("command line") call.  This works fine under JDK, but I'm 
> having a problem running this with Kaffe.  Here is some sample code...
> 
> 
> public class Test{
>   public static void main(String[] args) {
>     Runtime r = Runtime.getRuntime();
>     System.out.println("Hello World!");
>     try {
>       r.exec("gcc test.c");
>     }
>     catch(java.io.IOException e) {
>       System.out.println(e);
>     }
>   }
> }
> 
> No matter what the command is, we get
> 
> java.io.IOException: No such file or directory 
> 
> I just tried an example using full path names, we don't get the 
> exception, but the command just plain doesn't get executed.
> 
> I also tried some code I found in the comp.lang.java.help newsgroup...
> 
> 
> public class HelloWorld{
>   public static void main(String[] args) {
>     try {
>       String cmd = "/usr/bin/ls -l /opt/java/bin";
>       String line = null;
>       Process p = Runtime.getRuntime().exec(cmd);
>       BufferedReader lsOut = new BufferedReader
>        (new InputStreamReader
>           (p.getInputStream() ) );
>       while( ( line=lsOut.readLine() ) != null) {
>         System.out.println(line);
>       }
>     }
>     catch (Exception e) {
>         System.err.println("ls error " +e);
>     }
>   }
> }
> 
> 
> But I get the same error.  Any ideas as to why this might be happening or 
> how to fix it?  Thanks.
> 
> 
> Pat
> 
> 


More information about the kaffe mailing list