Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Wie kann man einen Kind-Prozess vom Eltern-Prozess trennen?

  1. #1
    Linux Deutschland
    Registriert seit
    Apr 2003
    Beiträge
    1.099

    Wie kann man einen Kind-Prozess vom Eltern-Prozess trennen?

    Ich habe folgendes Problem:

    Aus einer Anwendung wird ein Skript (Perl) gestartet, welches wiederum zeitaufwändige Kindprozesse generiert, die asynchron im Hintergrund laufen sollen.
    Leider wartet die Anwendung aus der ich das Skript starte immer so lange, bis sämtliche Kindprozesse des Skripts beendet sind. Da hilft kein "grandchild" mit Beenden des Prozesses in der Mitte und auch "nohup &" hilft nicht, da letztendlich ja doch alle diese Prozesse in der Familie des Skripts leben.

    Gibts es unter AIX/Perl eine Möglichkeit einen Prozess von seinen Eltern zu trennen, so dass die Anwendung die mein Skript startet weiter läuft?

  2. #2
    x3ron
    Gast
    wenn der elternprozess ein kind nicht vollständig beendet, kommt es ja zu einem zombie-prozess... von daher frage ich mich ob das überhaupt möglich ist was du da vor hast...

  3. #3
    @Debian Avatar von tictactux
    Registriert seit
    Oct 2004
    Beiträge
    2.872
    Hi,
    schau mal in die perlfaq8, Frage "How do I start a process in the background?",
    Stichwort "double fork" (+wrapper-Script?)
    Dort stehen auch Verweise zu IPC::Run und Alternativen.

    perldoc perlfaq8 oder man perlfaq8

    HTH
    Wolfgang

  4. #4
    Linux Deutschland
    Registriert seit
    Apr 2003
    Beiträge
    1.099
    Zitat Zitat von tictactux
    Hi,
    schau mal in die perlfaq8, Frage "How do I start a process in the background?",
    Stichwort "double fork" (+wrapper-Script?)
    Dort stehen auch Verweise zu IPC::Run und Alternativen.

    perldoc perlfaq8 oder man perlfaq8

    HTH
    Wolfgang

    Folgende Methoden hab ich probiert, allerdings ohne Erfolg:

    - double fork
    - setsid
    - system ("sleep 200 &")

    Zwar ist dann der abgesetzte sleep-Befehl ein Kind von init, allerdings hängt die Anwendung die das Perl-Skript startet trotzdem so lange, bis ich den sleep-Befehl beende.
    Woran kann das liegen?
    Was meintest du mit "wrapper-Skript"?

  5. #5
    @Debian Avatar von tictactux
    Registriert seit
    Oct 2004
    Beiträge
    2.872
    Zitat Zitat von hiTCH-HiKER
    Was meintest du mit "wrapper-Skript"?
    ein zusätzliches Perl-Skript, dem Du den Namen des Ursprünglichen gibst,
    und welches das (umbenannte) Originalskript dann startet

    Die manpage perlipc(1) (->"Complete Dissociation of Child from Parent") könnte
    noch nützlich sein.

Ähnliche Themen

  1. wie kernel headers installieren!
    Von quaeler im Forum System installieren und konfigurieren
    Antworten: 13
    Letzter Beitrag: 24.01.05, 18:45
  2. Fuer Eltern: Ist ihr Kind ein boeser "hacker"?
    Von smiler im Forum Meldungen und Mitglieder
    Antworten: 43
    Letzter Beitrag: 30.06.02, 07:30

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •