programme nach beendigung von putty weiterlaufen lassen?

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
joshi
Beiträge: 134
Registriert: 10.08.2005 02:54:33
Lizenz eigener Beiträge: GNU General Public License

programme nach beendigung von putty weiterlaufen lassen?

Beitrag von joshi » 13.12.2009 23:54:24

Hallo,

Ich frage mich schon seit einer ganzen Weile, wie man gestartete Programme (in einer putty-session) weiterlaufen lassen kann, wenn die putty-session beendet ist (vgl. RDP auf einen Windows-Server, wenn der RDP-Client einfach nur geschlossen wird).

Ist das überhaupt möglich? Falls nein, gibt es einen anderen Weg, so etwas zu bewerkstelligen?

Beste Grüße
Johannes

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: programme nach beendigung von putty weiterlaufen lassen?

Beitrag von Danielx » 13.12.2009 23:56:45

joshi hat geschrieben:Ist das überhaupt möglich?
Für Terminal-Programme könntest du z.B. Debianscreen verwenden.
Siehe dazu auch:
http://wiki.ubuntuusers.de/Screen

Gruß,
Daniel

azerty
Beiträge: 965
Registriert: 15.02.2007 20:18:17

Re: programme nach beendigung von putty weiterlaufen lassen?

Beitrag von azerty » 14.12.2009 00:05:49

tmux(1)
.

joshi
Beiträge: 134
Registriert: 10.08.2005 02:54:33
Lizenz eigener Beiträge: GNU General Public License

Re: programme nach beendigung von putty weiterlaufen lassen?

Beitrag von joshi » 14.12.2009 00:43:01

Danke für die Tips. Zu screen hab ich noch eine kleine Frage:
Im Link steht:
Darüberhinaus können Sitzungen getrennt und später fortgeführt werden.
Heißt das, dass die Sitzung suspendet wird?

Wenn ich z.B.: große Files via wget ziehe, wäre das nat. von Nachteil.

LG
Johannes

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Re: programme nach beendigung von putty weiterlaufen lassen?

Beitrag von GoKi » 14.12.2009 01:16:45

Die Programme innerhalb screen laufen weiter, also in deinem Beispiel lädt wget weiter die Datei.
MfG GoKi
:wq

pferdefreund
Beiträge: 3800
Registriert: 26.02.2009 14:35:56

Re: programme nach beendigung von putty weiterlaufen lassen?

Beitrag von pferdefreund » 14.12.2009 07:23:25

nohup sollte auch funktionieren, so man keinen reconnect an die Sitzung
benötigt...

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: programme nach beendigung von putty weiterlaufen lassen?

Beitrag von ThorstenS » 14.12.2009 07:52:43

jo, nohup ist ein Klassiker - vergiss das & am Ende nicht, um den Prozess auch wirklich in den Hintergrund zu schicken. Ein logfile wird auch geschrieben. Für wget-Downloads reicht es allemal.

uname
Beiträge: 12503
Registriert: 03.06.2008 09:33:02

Re: programme nach beendigung von putty weiterlaufen lassen?

Beitrag von uname » 14.12.2009 09:41:40

Seitdem ich vor einigen Jahren "screen" als das beste UNIX-Programm für mich entdeckt habe, nutze ich es standardmäßig auf allen Servern. Vorteil ist im übrigen, dass man nur einen Putty-Aufruf pro Server auch bei mehreren Fenstern benötigt. Sitzungen lasse ich per Default immer weiterlaufen, kosten sowieso kaum CPU.

Aufruf meist automatisiert (~/.bash_profile), bei einigen Systemen manuell:

Code: Alles auswählen

/usr/bin/screen -xRR
Zum Erkennen von Screen-Sitzungen nutze ich folgende Statuszeile (~/.screenrc):

Code: Alles auswählen

hardstatus alwayslastline '[%H] %Lw%=%u %d.%m.%y %c '
Folgende Befehle kenne ich noch:

Code: Alles auswählen

CTRL a + c:   neues Terminal
CTRL a + n:   nächstes Terminal
CTRL a + d:   Screen detachen (alternativ Putty schließen)
exit:         virtuelles Terminal beenden
screen -xRR:  Screen reattachen bzw. neu erstellen (außerhalb von Screen)
Gibt im übrigen noch ein paar andere nette Spielereien wie Split-Screen. Vor allem kann man aber durch Multi-Terminals um einiges schneller arbeiten.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: programme nach beendigung von putty weiterlaufen lassen?

Beitrag von ThorstenS » 14.12.2009 11:24:42

Dann hab ich auch noch einige Tipps zu screen:

htop in einem screen im Hintergrund ('detached') starten
screen -d -S "htop-session" -m htop

Eine session teilen:
--------------------
terminal a connected und gibt ein:
screen bash
STRG+a :multiuser on

terminal b connected mit screen -x und beide arbeiten zusammen :)

alle verfügbaren Screens anzeigen
screen -list

Eine Session mit Namen "bash Sitzung" im Hintergrund starten:
screen -d -S "bash Sitzung" -m bash
Und nun in dieser Session einen Befehl ausführen:
screen -S "bash Sitzung" -X exec echo "Es geht"


Ich nutze screen aber trotzdem nur für lang laufende tasks. Im Normalfall reicht mir gnome-terminal und da drinnen mehrere tabs

uname
Beiträge: 12503
Registriert: 03.06.2008 09:33:02

Re: programme nach beendigung von putty weiterlaufen lassen?

Beitrag von uname » 14.12.2009 12:48:26

Ok, hier nun meine ultimative SSH-Fernwartungslösung mit Screen (eine Art Multiuser mit einem Benutzer):

- Anlegen Benutzer mit Shell /usr/local/bin/restricted in /etc/passwd:

/usr/local/bin/restricted:

Code: Alles auswählen

#!/bin/sh
if [ -z $STY ];   then
  /usr/bin/screen -xRR;
else
  /usr/bin/screen -X hardstatus alwayslastline '[%H] %Lw%=%u %d.%m.%y %c '
  befehl="/bin/rm $HOME/.ssh/known_hosts ";   
  $befehl 2> /dev/null;
  echo -n "ssh "
  read eingabe;
  befehl="/usr/bin/ssh $eingabe";
  $befehl;
fi
Diese Screen-Sitzung wird nun als Sprungbrett zur SSH-Fernwartung irgendwo hin benutzt. Sehr cool mit Aufruf vom Fernzuwartenden mit Remote-Port-Forwarding-Option. Funktioniert dann auch hinter Routern und ohne Port-Weiterleitungen, Dyndns usw. beim Fernzuwartenden.

Antworten