Runtime.getRuntime().exec()



  • hi,

    ich habe folgenden Code:

    Process p = Runtime.getRuntime().exec("gnuplot -persist");
    p.getOutputStream().write("plot x**2\n".getBytes());
    

    Wenn ich das Programm von der Kommandozeile aus aufrufe, funktioniert es. Wenn ich es aus eclipse aufrufe, passiert gar nichts, d.h. es terminiert, ohne etwas anzuzeigen. Könnt ihr mir sagen, wieso das so ist?



  • Vielleicht weil du weder den Input, noch den Error-Stream des Processes liest.

    Also die zwei benutzen:

    p.getInputStream()
    p.getErrorStream()
    


  • eclipse kann aus mir unerfindlichen gründen keine konsolenprogramme direkt starten, zumindest unter windows. unter anderen betriebssystemen hab ichs noch nie probiert.
    unter windows kann man sich behelfen, indem man sein konsolenprogramm mithilfe der rundll32.dll startet.


Anmelden zum Antworten