Shellscript so starten das es weiterlaeuft?

Diskutiere Shellscript so starten das es weiterlaeuft? im Linux Forum im Bereich Weitere Betriebssysteme; Moin irgendwie stehe ich gerade auf dem Schlauch. Ich starte auf einer Shell ein SH Script also eine .sh Datei. Wenn ich nun Puty beende wird...
F

fremdisny

Threadstarter
Mitglied seit
10.12.2002
Beiträge
233
Moin

irgendwie stehe ich gerade auf dem Schlauch. Ich starte auf einer Shell ein SH Script also eine .sh Datei. Wenn ich nun Puty beende wird auch das Script beendet.

Wie starte ich eine sh so dass sie auch beim beenden von Puty weiterlaeuft?? Irgendwie stehe ich da grad da wie bestellt und net abgeholt.


Uli
 
HaraldL

HaraldL

Mitglied seit
26.07.2006
Beiträge
5.796
Standort
Niederbayern
Du kannst jedes Kommando durch anhängen von " &" im Hintergrund laufen lassen. Dazu evtl. noch die Bildschirmausgabe in eine Datei umlenken damit man später kontrollieren kann ob ein Fehler aufgetreten ist. Beispiel:

cp -a /ordner1 /ordner2 >/var/log/cpscript.log 2>&1 &
Also das ">xxx" schreibt normale Ausgaben in die angegebene Datei, die feste Formel "2>&1" schreibt Fehlermeldungen (die 2 ist der Kanal dafür) in die selbe Datei (&1) und das zusätzliche "&" dahinter startet den Script im Hintergrund. Du bekommst sofort wieder den Eingabeprompt, kannst also ein anderes Kommando eingeben oder dich abmelden während der Script noch läuft. Ich habe im Beispiel den Kopierbefehl cp benutzt, genauso gut geht es aber auch mit Shellscripts.
 
automatthias

automatthias

vernunftgeplagt
Mitglied seit
21.04.2006
Beiträge
7.924
Du musst das Kommando "nohup" verwenden.
Nähere Infos per man/info
 
DiableNoir

DiableNoir

Mitglied seit
18.01.2004
Beiträge
6.069
Jep, das geht nur so. Ich weiß nicht ob das mit dem & überhaupt funktioniert. Die Shell ist ja immer noch der Vaterprozess des Scriptinterpreters. Wenn man jetzt Putty zumacht, wird auch die Instanz der Shell beendet. Also entweder entsteht dadurch ein Zombie-Prozess, oder er wird wie jedes andere Script abgeschossen. (Tippe eher auf Zweiteres)
 
J

jdr_85

Mitglied seit
23.10.2005
Beiträge
1.665
Alter
34
Ich weiß ja nicht, was das auf der Gegenseite für ein Rechner ist, aber screen ist in dem Fall sehr nützlich. Guck doch einfach mal, ob es installiert ist und wenn ja, schau dir die manpages an ;).
Wenn es jetzt ein Router ist, der nur eine einfache busybox hat, kann man das natürlich vergessen :(.
 
HaraldL

HaraldL

Mitglied seit
26.07.2006
Beiträge
5.796
Standort
Niederbayern
Ich weiß nicht ob das mit dem & überhaupt funktioniert.
Doch, hundertprozentig, benutze ich seit Jahren mit diversen OpenSuse-Versionen. Ich habe auf etlichen Servern Backup-Scripts wo ich mich kurz per SSH einlogge, den Script mit "&" starte und gleich wieder auslogge. Anhand der Logdatei des Scripts sehe ich später auch daß der mehrere Stunden lief und korrekt beendet wurde, nicht schon beim Ausloggen.

Also entweder entsteht dadurch ein Zombie-Prozess, oder er wird wie jedes andere Script abgeschossen. (Tippe eher auf Zweiteres)
Nein, wenn der Script lange genug oder sogar endlos läuft und man sich später wieder einloggt während er noch läuft ist der Script in der Baumstruktur von "pstree" eine Stufe höher eingehängt, läuft dann also parallel zur (neuen) Shell.
 
DiableNoir

DiableNoir

Mitglied seit
18.01.2004
Beiträge
6.069
@HaraldL: Oha...naja, gut zu wissen. :blush ...hoffentlich ist das nicht nur beschränkt auf OpenSuse sondern ein generelles Feature der Bash...werde es mal am Wochenende selbst unter Debian ausprobieren. THX. ;)
 
stpe

stpe

Mitglied seit
14.11.2001
Beiträge
2.729
Der Sinn von nohup ist es, den aufgerufenen Prozess nicht an die Shell, sondern an init zu hängen. Die Konsole kann dann einfach zugemacht werden.

Eine weitere Variante ist das Tool screen. Dieses erlaubt, innerhalb einer Shell weitere aufzurufen, zwischen diesen zu wechseln oder diese im Hintergrund weiterlaufen zu lassen.
 
Thema:

Shellscript so starten das es weiterlaeuft?

Sucheingaben

bash script im hintergrund

,

linux sh skript im hintergrund starten

,

linux shell programm im hintergrund starten

,
bash hintergrundprozess
, linux script startet script mit &, linux shell script hintergrund, ubuntu script im hintergrund starten, auf windows shell scripts laufenlasen, linux bash hintergrund starten, shell script in den hintergrund schicken, linux shell script im hintergrund starten, shell skript hintergrund, ubuntu bash script im hintergrundstarten, perl programm im hintergrund starten, linux shell script macht nicht weiter nach browser aufruf

Shellscript so starten das es weiterlaeuft? - Ähnliche Themen

  • Nach dem Update Win 1903 bleibt der Computer während des Starts hängen

    Nach dem Update Win 1903 bleibt der Computer während des Starts hängen: Hallo Nach dem Update Win 1903 bleibt der Computer während des Starts und auch eventuell nach dem Anmelden hängen. Es geht dann nichts mehr. Es...
  • Surface Pro 4 nach Update-Starts auf Win 10 1903 komplett abgestürzt

    Surface Pro 4 nach Update-Starts auf Win 10 1903 komplett abgestürzt: Hallo, mein Surface Pro 4 hat selbständig Updateversuche auf 1903 gestartet, nach dem 2. Versuch ist der Rechner jetzt komplett abgestürzt...
  • WIN 10: Starten ohne Kennworteingabe

    WIN 10: Starten ohne Kennworteingabe: Hallo zusammen, bei der Installation von WIN 10 habe ich eine Passwort vergeben müssen, das der PC jetzt jedesmal abfragt, wenn ich den Rechner...
  • GELÖST Shellscript bitte programieren das folgendes macht

    GELÖST Shellscript bitte programieren das folgendes macht: Hallo ich suche dafür ne kostenfreie Linuxalternative... Sysops, die an ihrer Mailbox-Konfiguration basteln, kennen das Problem: Änderungen...
  • GELÖST Java im Shellscript

    GELÖST Java im Shellscript: Hallo zusammen, ich suche einen Weg im Shellscript (Linux) mit Java zu programmieren. Beispiel für ein normales script: shellskript.sh...
  • Ähnliche Themen

    Oben