ServerSocket beendet mit PuTTy

TheJavaKid

Top Contributor
Hallo,

ich habe einen kleinen Java Chat geschrieben, der über einen Server läuft - funktioniert alles.

Ich greife mit PuTTy auf den Server zu und starte die jar die den Server darstellt mit "java -jar Server.jar"

Das funktioniert aber alles nur solange wie PuTTy geöffnet ist - schließe ich PuTTy, beendet auch der Prozess, der mit Threading und Endlosschleife realisiert ist

Wie verhindere ich, daß der Prozess beendet wird, wenn ich PuTTy schließe, sprich, der Prozess dauerhaft am Server läuft ?

CentOS 5 läuft darauf

Danke schonmal
 
T

trööööööt

Gast
es gibt dafür das tool "screen" ...
alternativ reicht auch ein "&" ans ende des befehls setzen ... ist aber eher unsauber wenn man sich nicht die pid speichert und im notfall mit kill abbrechen zu können
 

TheJavaKid

Top Contributor
Ok, lol, hat sich gerade erledigt - ich hab das ganze mal mit dem Terminal von WinSCP gestartet - WinSCP ist daraufhin abgestürtzt, aber der Webserver rennt noch

Wenn trotzdem wer ne Idee hat, warum PuTTy dabei rumspackt, gerne dazuschreiben
 

Lumaraf

Bekanntes Mitglied
Wenn trotzdem wer ne Idee hat, warum PuTTy dabei rumspackt, gerne dazuschreiben

Das ist kein Fehler von Putty sonder ein Feature von SSH. Der SSH-Daemon räumt beim schließen der Verbindung alle zu der Session gehörenden Prozesse auf. Wenn du einen Prozess starten willst der nicht zusammen mit der Verbindung beendet wird kannst du das z.b. mit Hilfe von [c]nohup java -jar Server.jar[/c] erreichen.
 

javabar

Mitglied
Ich denke mal, es wär am korrektesten/sinnvollsten, wenn man so einen Service/Dienst, welcher in Java geschrieben ist, unter Linux als solchen einrichten könnte.

Damit der Dienst auch automatisch beim Booten gestartet wird. Server sind so, die müssen auch ab und zu mal neu starten ;)
Es gibt ja so Fälle wie
  • Systemcrash (zum Glück selten geworden)
  • Zwingender Neustart nach Updates (eher häufiger der Fall)
  • Stromausfall
  • etc.
Wenn Murphies Gesetz noch zutrifft, passiert sowas meist dann, wenn du grade Feierabend gemacht hast, ausgehst oder schlafen gegangen bist.

Im Ernst - es würd mich auch interessieren, wie man so ein Java-Programm unter Linux als Dienst einrichten könnte, wobei es bei Derivate gibt, wo diese unterschiedlich eingerichtet und gestarten werden.

In diesem Forum habe ich zumindest einen Link zu einer kostenpflichtigen Lösung gefunden: Java Service Wrapper - Java Service Wrapper Download.
Der Thread dazu ist hier zu finden: http://www.java-forum.org/java-basics-anfaenger-themen/46864-dienste-java.html

Gruß

Egon
 

FArt

Top Contributor
Gibts auch eine Möglichkeit einen laufenden Java-Server wieder abzubrechnen, nachträglich mit SSH ?

Du bist mit diesen Fragen in einem Linux Forum besser aufgehoben. Wenn du dich auf einem Linux-System bewegen möchtest, solltest du dich rudimentär damit auskennen.... Prozesse starten, forken, beenden, überwachen, Ausgaben umleiten, Umgebung konfigurieren, ...
 
T

trööööööt

Gast
wie ich sagte : "screen"

du startest eine neue session in dem du einfach "screen" eingibst und return drückst ... dann noch mal return und du hast ne neue session ...

dann startest du ganz normal dein server übers java-command ... und löst mit "STRG + A + D" die session ...

dann kannst du die SSH-con trennen und der service läuft weiter ...

willst du nachträglich was dran machen einfach wieder connecten ... "screen -r" eingeben um wieder an die session anzudocken ... und dann z.b. mit "STRG + C" den prozess killen ...

"nohup" (ist btw das gleiche wie "&" ans ende) ist nicht so super da man nachträglich nicht mehr ran kommt und sich die prozess-id merken muss um "kill" machen zu können ...
 

FArt

Top Contributor
"nohup" (ist btw das gleiche wie "&" ans ende) ist nicht so super da man nachträglich nicht mehr ran kommt und sich die prozess-id merken muss um "kill" machen zu können ...
Nein. & startet den Prozess im Hintergrund. Nohup sorgt dafür, dass der Prozess weiter läuft wenn man sich mit dem forkenden Prozess ausloggt.
Nein. Die Prozess-ID kann man auch ermitteln, z.B. mit ps .
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Custom E Mail Adresse mithilfe Serversocket oder ähnliches Netzwerkprogrammierung 21
Tobero Java serversocket nicht nur zuganglich für localhost Netzwerkprogrammierung 6
D ServerSocket - Socket Verbindungsart Netzwerkprogrammierung 3
J 1 Socket - 2 Serversocket Netzwerkprogrammierung 4
J Client - Serversocket Netzwerkprogrammierung 1
Seikuassi Socket ServerSocket mehrmals erzeugen Netzwerkprogrammierung 1
cezary Socket ServerSocket starten über GUIIm unterstehenden Code versuche Netzwerkprogrammierung 6
J ServerSocket sauber beenden Netzwerkprogrammierung 3
H ServerSocket.accept() unterbrechen Netzwerkprogrammierung 3
T ServerSocket.accept Rückgabetyp casten Netzwerkprogrammierung 3
P Socket Daten senden mit ServerSocket? Netzwerkprogrammierung 2
4 Socket Kann kein ServerSocket erstellen Netzwerkprogrammierung 4
D Socket ServerSocket Push Netzwerkprogrammierung 5
G ServerSocket.accept() überschreibt IP-Adresse Netzwerkprogrammierung 4
C serversocket.accept() klappt nicht Netzwerkprogrammierung 10
Tobse HTTP ServerSocket HTTP Netzwerkprogrammierung 4
X FAQ Frage - Netzwerkgrundlagen - ServerSocket und Socket Netzwerkprogrammierung 4
M Wahrnehmen, dass ServerSocket geschlossen wurde Netzwerkprogrammierung 14
T ServerSocket bleibt beim lesen von Input hängen Netzwerkprogrammierung 2
M ServerSocket.accept() abbrechen Netzwerkprogrammierung 8
Schandro Herausfinden ob hinter einem Port bereits ein ServerSocket steckt Netzwerkprogrammierung 2
2 Class mit ServerSocket erbt von Thread? Netzwerkprogrammierung 3
T Java Socket und ServerSocket über Internet-IP? Netzwerkprogrammierung 9
dayaftereh serverSocket.accept(); Wecken Netzwerkprogrammierung 2
G Frage zu Serversocket-Beispiel aus der FAQ Netzwerkprogrammierung 17
D Komisches Fenster bei Serversocket Netzwerkprogrammierung 2
M Kommunikation zwischen ServerSocket und Socket Netzwerkprogrammierung 2
F ServerSocket im internet zugänglich machen Netzwerkprogrammierung 15
H ServerSocket -> Zugriff nur von localhost Netzwerkprogrammierung 6
P Serversocket schmeißt immmer EOFEXCEPTION Netzwerkprogrammierung 2
A serversocket soll anfrage vom handy entgegennehmen Netzwerkprogrammierung 4
P Problem mit Socket und ServerSocket Netzwerkprogrammierung 2
S ServerSocket merkt nicht, wenn keiner mehr da ist Netzwerkprogrammierung 8
J ServerSocket vs. DatagramSocket Netzwerkprogrammierung 2
A ServerSocket prinzipielle Frage Netzwerkprogrammierung 5
D Problem ServerSocket global Netzwerkprogrammierung 3
J ServerSocket schließen / öffnen im Programmverlauf Netzwerkprogrammierung 4
G einfache Frage zu ServerSocket ... Netzwerkprogrammierung 5
T multithreaded multiport socketListener beendet TCP-Port-Listening Netzwerkprogrammierung 16
K Socket byte Schleife beendet nicht Netzwerkprogrammierung 9
B Server-Programm wird durch "read" beendet Netzwerkprogrammierung 8
L RMI Programm beendet ohne Fehler sofort nach Start (Windows 2000) Netzwerkprogrammierung 7
& RMI Server beendet sich selbst Netzwerkprogrammierung 6
R Kommunikation zwischen Shell und Putty Netzwerkprogrammierung 5

Ähnliche Java Themen


Oben