Konsole "freigeben"



  • Hallo,

    ist es irgendwie möglich, dass ein Java-Programm die Konsole "freigibt"? D.h. das Programm läuft im Hintergrund, blockiert aber die Konsole nicht mehr und auch wenn man die Konsole schließt, soll das Programm noch weiterlaufen.

    Vielen Dank
    Robert



  • Das hat mit dem Programm nichts zu tun. Wenn du in einer Konsole *irgendein* Programm startest, dann ist die Konsole "für" dieses Programm und lässt erst wieder Eingaben zu, wenn das Programm beendet ist.
    Wenn du gar keine Konsole brauchst, dann musst du dein Programm so schreiben, dass es keine Konsole öffnet.



  • aha. und wie mache ich das?

    Robert



  • Also javaw scheint mein Problem voll und ganz zu lösen (soweit ich das auf die Schnelle beurteilen kann).

    Robert



  • Also javaw funktioniert perfekt. Das Problem ist nur, dass soweit ich weis es javaw unter Linux nicht gibt. Ich muss auf einem Server per SSH das Programm ausführen und das soll sich dann natürlich nicht beenden, sobald man die Shell schließt oder disconnected.
    Ich habe irgendwo gelesen, dass es dafür javaws gibt. Wenn ich javaws starte erhalte ich aber folgende Fehlermeldung:

    Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.

    Was mache ich falsch?

    Robert



  • Willst du jetzt ne Fensteranwendung schreiben? Dann würde ich dir Swing empfehlen.



  • Nein. Ich will auf einem Remote-Server ein in Java geschriebenes Server-Programm ausführen. Zum Remote-Server verbinde ich mich per SSH (putty.exe). Wenn ich das Programm jetzt mit java.... starte, dann funktioniert alles bestens, bis ich das SSH-Fenster schließe. Dann wird anscheinend auch automatisch das Programm beendet. Darum brauche ich eine Möglichkeit das Programm so zu starten, dass es nicht die Konsole blockiert oder beendet wird, sobald man die Konsole schließt. Unter Windows ist dabei javaw die perfekte Lösung. Leider läuft auf dem Remote-Server Debian und soweit ich weis gibt es unter Linux kein javaw.

    Robert



  • Unter Windows gibt's dafür "start", unter Linux sicher auch irgendwas, "run"?!? "runas" ggf.?! Weiß nimmer...



  • hmm, unter solaris macht man das mit nohup denke das gibts auch bei linux...mach mal "man nohup".

    hat aber ansich nix mit java zu tun sondern gilt allgemein für Prozesse



  • Das mit nohup funktioniert bestens(bis darauf, dass ich die Konsole schließen muss und nicht mit exit beenden kann; aber das lässt sich ja verschmerzen). Vielen Dank.

    Robert



  • Dann haeng noch ein & an den Aufruf ran
    nohup java Foo &


Anmelden zum Antworten