PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SSH beenden bei laufendem Programm



f.gruber
22.11.07, 22:20
Hallo,
wie geht man eigentlich vor, wenn man per SSH einen längeren Job gestartet hat (z.B. einen Backup Prozess mit rsync) und vor Beendigung dieses Jobs die SSH Sitzung beenden will?

Ich habe
Strg + Z gedrückt, dann
bg eingegeben.

Kann man dann einfach das SSH Client Fenster schließen? Oder muss man sich irgendwie abmelden?

Danke für jeden hilfreichen Kommentar.

marce
22.11.07, 22:24
evtl. hilft ein nohup bg (hab's noch nicht ausprobiert) - oder das Programm einfach in einem Screen starten...

yuhu
22.11.07, 23:12
via screen ist wohl die elegantere lösung

f.gruber
22.11.07, 23:19
via screen ist wohl die elegantere lösung

Aber, was ist, wenn das Programm bereits läuft und man möchte aus der SSH Sitzung aussteigen und das gestartete Programm sollte trotzdem weiterlaufen?

yuhu
22.11.07, 23:23
sieh dir mal dieses tutorial an

http://www.tutorials.de/forum/linux-tutorials/151906-einfuehrung-screen.html

Roger Wilco
22.11.07, 23:49
Aber, was ist, wenn das Programm bereits läuft und man möchte aus der SSH Sitzung aussteigen und das gestartete Programm sollte trotzdem weiterlaufen?
STRG+Z und 'bg' sind schon der richtige Ansatz.

marce
23.11.07, 07:20
nur ein reines bg überlebt AFAIK das Beenden der SSH-Session nicht (wenn ich mich recht an unliebsame Erfahrungen damit erinnere)

komaii
23.11.07, 09:24
screen, geht am besten dafür. Das habe ich immer verwendet bei solchen Angelegenheiten. Ich würde dir aber mal empfehlen deine Backups per cronjob zu machen, kannst dir ja per mail dann den Report zustellen lassen.

vllt. hilft dir auch rdiff besser als backup tool, ich verwende das nun anstelle von rsync..

lg,
tom

.supertux.
23.11.07, 11:13
Eigenlich sollte man SSH mit exit beenden können.

marce
23.11.07, 11:20
Eigenlich sollte man SSH mit exit beenden können.
Darum geht's nicht...

.supertux.
23.11.07, 11:29
Darum geht's nicht...

Hilfreich ist das nicht!

marce
23.11.07, 11:31
Dein Beitrag aber auch nicht.

Das man eine ssh-Konsole mit exit beenden kann ist klar - es geht hier aber darum, wenn man sie beendet, wie man denn ein darin gerade im Hintergrund laufendes Programm davon abhält, sich dann ebenfalls zu beenden.

komaii
23.11.07, 11:54
E soll einfach "screen" verwenden und schon hat sich die Sache erledigt.

lg,
tom

h4gb4rdc31in3
23.11.07, 11:58
Nach einem STRG-Z und bg kannst du ein disown machen, dann sollte das mit dem beenden der SSH-Verbingung gehen.

Huhn Hur Tu
23.11.07, 12:50
Beim nohup Befehl bitte aufpaasen da alle Ausgaben nun in die Datei .nohup im jeweiligen Nutzerverzeichnis umgeleitet werden und wenn man einen Prozess hat der nun mal ne ganze weile laeuft dann fuellt sich dieses Datei bis dort eben kein Platz mehr ist. Ist ganz witzig mal dannach zu suchen warum der Rechner nicht mehr startete.
Gruss Stefan

echo
23.11.07, 13:05
Hallo,
strg+z ist nur zum schlafen legen des prozesses. man erhällt dann zwar die shell wieder und kann befehle ausführen, der prozess im hintergrund tut aber in dieser zeit nichts.
bg setzt den schlafenden prozess in den hintergrund, als wenn man den prozess mittels & gestartet hat.
fg setzt den schlafenden prozess wieder in vordergrund, als hätte man strg+z nie gedrückt
jobs zeigt einem alle im hintergrund (schlafenden) prozesse an.

das ganze dient nicht, um anschließend die shell zu beenden. beendet man die shell beendet sich auch der schlafenden/hintergrund prozess.

einzige möglichkeiten um einen prozess auch weiter laufen zu lassen, nach dem beenden der shell wurden schon genannt. nohup oder screen.

nohup gibs überall und kann von vielen prozessen benutzt werden.
screen muss heufig nachinstalliert werden, bietet aber mehr features als nohup und kann von allen prozessen benutzt werden.

f.gruber
23.11.07, 22:33
screen, geht am besten dafür. Das habe ich immer verwendet bei solchen Angelegenheiten. Ich würde dir aber mal empfehlen deine Backups per cronjob zu machen, kannst dir ja per mail dann den Report zustellen lassen.

vllt. hilft dir auch rdiff besser als backup tool, ich verwende das nun anstelle von rsync..

lg,
tom

Ja, ich mache selbstverständlich die Backups über Cron. Die Frage wegen dem Beenden der SSH Shell ist mir beim Testen des Backup Scriptes gekommen.

Bei rsync werde ich wohl bleiben, da es ja hervorragend geeignet ist, über LAN oder WAN zu sichern

Als Nebenprodukt in diesem Thread habe ich screen kennengelernt und schon damit experimentiert. Das ist wirklich praktisch. Bisher musste ich immer mehrere SSH Sitzungen öffnen, um komplexere Sachen zu machen ...

Hatte bisher auch von nohup keine Ahnung ...

Also besten Dank für die Nachhilfe und das Interesse an meinem Problem!