Ein Skript soll ein anderes beenden..

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Till, 09.01.2007.

  1. Till

    Till Grünschnabel

    Dabei seit:
    02.08.2006
    Beiträge:
    7
    Zustimmungen:
    0
    Hallo,

    ich versuche meinem Script gerade eine Update-Funktionalität beizubringen.

    Ich versuche es mal so zu erklären:

    Aus dem Script 1 wird das Script 2 aufgerufen.
    Wenn Script 2 gestartet ist, soll Script 1 beendet werden.
    Wenn Script 2 sein Update verrichtet hat soll das neue Script gestartet werden.

    Script 1 : ist das eigentliche Hauptprogramm.
    Script 2 : ist mein Update-Helfer, der mir das Update holt und installiert.


    Ich habe versucht im Script 2 mittels

    kill `ps aux | grep 'cript1.sh' | cut -b 10-15`

    das Script1 zu beenden, aber irgendwie funktioniert das nicht so...


    Habt ihr einen heißen Tipp für mich.

    Gruß
    Till
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    Versuchs mal mit 'pkill Scriptname'...
    man pgrep
    man pkill

    Gruss
    d22
     
  4. #3 Schlaubi_fi.de, 09.01.2007
    Schlaubi_fi.de

    Schlaubi_fi.de Mac OS X User

    Dabei seit:
    22.12.2004
    Beiträge:
    304
    Zustimmungen:
    0
    Ich mag mich täuschen und es ist auch noch sehr früh *g
    Aber macht das wirklich Sinn seinen "Papa"-Prozess abzuschießen?
     
  5. #4 dizzgo, 09.01.2007
    Zuletzt bearbeitet: 09.01.2007
    dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    Hm, ja ist wirklich noch früh... ;)
    Verstehe nämlich nicht wen und was du ansprichst, weder 'pkill' noch 'ps aux | grep 'cript1.sh' | cut -b 10-15' holt dich die PPID, beide geben die PID zurück. Oder sollte ich mich getäuscht haben?

    Gruss
    d22
     
  6. hwj

    hwj Doppel-As

    Dabei seit:
    23.06.2006
    Beiträge:
    131
    Zustimmungen:
    0
    Ort:
    Bei Buxtehude
    Mußt Du Script 1 wirklich vorher beenden ? Sonst könntest Du doch auch mit "wait" auf die Beendigung von Script2 warten und dann einfach "exit" ?

    Heiko
     
  7. #6 Schlaubi_fi.de, 09.01.2007
    Schlaubi_fi.de

    Schlaubi_fi.de Mac OS X User

    Dabei seit:
    22.12.2004
    Beiträge:
    304
    Zustimmungen:
    0
    Ich glaub ich hab ne Blockade im Kopf *lach*
    Angenommen der pstree sieht so aus:

    Code:
    init---...
         |
         |--script 1---script 2
         |              |--update irgendwas
         |
         ...
    
    Und du killst die pid von script 1 - ist es dann nicht auch vorbei mit script 2?
    Oder läuft das völlig losgelöst? Ich glaube ich habe unrecht, will jedoch den AHA-Effekt bzw. den Ach-Ja-Stimmt-Effekt erleben :D
     
  8. #7 Wolfgang, 09.01.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Wenn sich der Parentprozess selbst beendet ohne auf sein Kind :) zu warten, erzeugst du einen netten Zombi. :D
     
  9. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    Na wenn 'script1' 'script2' aufruft und nacher 'script1' gekillt wird, dann läuft 'script2' frisch und fröhlich weiter, es gehört nacher einfach dem init-prozess... PPID 1...

    Oder nicht?
     
  10. #9 whopper, 09.01.2007
    whopper

    whopper Foren As

    Dabei seit:
    01.10.2006
    Beiträge:
    96
    Zustimmungen:
    0
    Aber nur wen du es loslöst oder?

    Mein Gedanke geht in Richtung

    Script1 ruft "Script2 &disown" auf
     
  11. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    Das 'script2' wird dann ganz von alleine 'losgelöst'...
    Ist nicht die feine Art, aber klappt schon...
     
  12. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  13. Cyber

    Cyber .:DISTORTED:.

    Dabei seit:
    16.05.2003
    Beiträge:
    999
    Zustimmungen:
    0
    Ort:
    D -> BW -> Karlsruhe
    Warum soll Script1 überhaupt beendet werden?
    Ist es linear runterprogrammiert und soll einfach nochmal am Anfang beginnen etwas auszuwerten o.ä.? Falls ja, würde ich das über Funktionen und Rückgabewerte handhaben, damit fährst Du sicherlich besser.
     
  14. Till

    Till Grünschnabel

    Dabei seit:
    02.08.2006
    Beiträge:
    7
    Zustimmungen:
    0

    .
    |--control-script
    | |--setup-script
    | |--update-script
    |
    .


    Würde es so gehen?

    Das Control-Script ruft direkt das Setup-script auf.
    Wähle ich im Setup-Script meine Menü zum Updaten aus,
    dann beendet sich das setup-script mit exit <n>.
    Jetzt bin ich ja wieder im control-script und kann
    den exit <n> Status auswerten.
    Habe ich dann mein Update eingespielt, so starte ich
    wieder das setup-script.

    Zu umständlich ????
    So schiesse ich keine Prozesse ab, und habe auch keine Ghost´s oder...


    Gruß
    Till
     
Thema:

Ein Skript soll ein anderes beenden..

Die Seite wird geladen...

Ein Skript soll ein anderes beenden.. - Ähnliche Themen

  1. Zwei Skripte sollen nicht zeitgleich laufen

    Zwei Skripte sollen nicht zeitgleich laufen: Hallo zusammen, ich habe zwei Skripte: script1.ksh und script2.ksh Diese beiden Skripte sollen nicht zeitgleich laufen. Beide Skripte...
  2. Shell-Skript soll nach Abmeldung des Benutzers weiterlaufen

    Shell-Skript soll nach Abmeldung des Benutzers weiterlaufen: Hi, Ich habe ein Shell-Script geschrieben, dass auf einem Server laufen soll. Diesen erreiche ich per ssh. Das Skript kann unter Umständen...
  3. Shellskript soll Verzeichnisse rekursiv 'abarbeiten'

    Shellskript soll Verzeichnisse rekursiv 'abarbeiten': Hallo, ich habe ein kleines Shellskript, mit dem ich aus wav-Dateien mp3-Dateien erstelle. Dazu kopiere ich es immer in das Verzeichnis mit den...
  4. Skript erstellt File, soll nach 1 Monat wieder löschen

    Skript erstellt File, soll nach 1 Monat wieder löschen: Hallo! Ich hätte eine Frage, wie könnte ich ein Skript schreiben, der erstellt eine Datei, und soll sie wieder löschen. Z. B: rsync -urv >...
  5. backupskript soll die zu sichernde daten aufschreiben

    backupskript soll die zu sichernde daten aufschreiben: möchte gern ein backupscript der vorher den Blockstandort und die zu sichernden Dateien aufschreibt, damit ich es schneller per vi nachsehen kann,...