ssh: Programm woanders ausführen

Spacemojo

Spacemojo

Aktives Mitglied
Thread Starter
Dabei seit
16.05.2004
Beiträge
624
Reaktionspunkte
21
Hi!
Ich will mich mit ssh an einem Linux-Rechner in der Uni einloggen und auf ihm ein Terminal-Programm laufen lassen, das recht lange was berechnet.
Einloggen und so klappt wunderbar mit dem Terminal.

Aber wie ist das jetzt:
Ich will meinen Mac und die ISDN-Verbindung ja nicht die ganze Zeit laufen lassen. Wenn ich aber die Verbindung zu dem Linux-Rechner unterbreche, wird auch mein Programm, das da läuft unterbrochen.
Was muss ich da machen damit das trotzdem klappt?
Und wie kann man herausfinden, wann der Linux-Rechner fertig ist? Das Programm hat halt eine Fortschrittsanzeige im Terminal.

Danke schon mal!
Tobi
 
Du kannst z.B. den Befehl “nohup” davor setzen. Dann wird das Programm nicht beendet und der Output des Programms landet in nohup.out
 
guck mal ob "screen" auf dem anderen rechner installiert ist...
 
Hi,

dafür gibt's das Programm "screen", über welches du auf http://www.pl-berichte.de/berichte/hurd/screen.html eine deutsche Einführung findest. Mit screen kannst du Programme ausführen und die session danach detachen (ja, ich weiß, viele Fachbegriffe), was soviel bedeutet, wie dass du dich von dem Fenster loslöst. Das passiert automatisch bei Verbindungsabbruch.

Wenn du also das ssh-fenster schließt, während du in screen arbeitest, und dich nachher wieder verbindest, kannst du mit dem Befehl "screen -r" die Arbeit wiederaufnehmen.

Ansonsten kannst du den Befehl im Hintergrund laufen lassen, das geht dann zB so: "./befehl &", oder "wget http://mein.webserver/grosse.datei.avi &".

Eine Benachrichtigung bei Abschluss lässt sich (wenn der Rechner im selben Netzwerk ist) durch eine "net send"-Nachricht realisieren (via MacXPop oder MacPop, weiß nicht mehr genau, kann man diese auch auf dem mac empfangen):
"./befehl && echo fertig | smbclient -M <deine-ip>"

cu
 
Zurück
Oben Unten