Prozesse mit fork()

Dieses Thema im Forum "C/C++" wurde erstellt von Renn25, 17.11.2005.

  1. Renn25

    Renn25 Mitglied

    Dabei seit:
    26.10.2005
    Beiträge:
    41
    Zustimmungen:
    0
    Hallo !

    Ich habe hier bei meinem Programm irgendwie ein Verständnisproblem mit diesen ganzen Parent/Child Prozessen.

    Hier mal das Programm (in verkürzter Form)

    int main ()
    {
    // lokale Variablen
    pid_t pid;

    cout <<"Beispiel zum Aufruf von fork()" <<endl;

    // einen neuen Prozess erzeugen
    fork ();
    cout <<"Kind-PID= " <<getpid() <<" Eltern-PID= " <<getppid();
    ..... }

    Das funktioniert auch soweit, nur das ich mit den Ausgaben nicht ganz klar komme.
    z.B.
    Kind-PID= 6910 Eltern-PID= 6909
    Kind-PID= 6909 Eltern-PID= 6350

    Welcher von den beiden Kind-Prozessen wurde denn nun eigentlich erzeugt?
    Zitat von einer anderen Website: "Der aufrufende Prozess (in meinem Fall 6909) erhält die Prozessnummer des Sohnprozesses als Funktionsergebnis"

    Also gehören doch die Prozesse mit der ID 6909 zusammen. Der Eine ist Parent und der andere Child davon. Welche Rolle spielen jetzt noch die ID's 6910 und 6350 ?

    Wäre super, wenn ihr mir das erklären könntet.

    Danke
    Renn
     
  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. oenone

    oenone Freier Programmierer[Mod]

    Dabei seit:
    22.08.2002
    Beiträge:
    599
    Zustimmungen:
    0
    Ort:
    Mannheim
    die erste ausgabe kommt vom kind-prozess. Es hat die PID 6910 und sein Parent hat die PID 6909.

    die zweite ausgabe kommt vom eltern-prozess. Er hat die PID 6909 und sein Parent hat die PID 6350.

    von irgendwo muss dein Programm ja gestartet worden sein ;) und das hat die PID 6350.
    Wahrscheinlich ist das deine Shell.

    Um im Programm herauszufinden, ob du im Eltern- oder im Kind-Prozess bist, kannst du den Rückgabewert von fork() speichern.
    Siehe hierzu auch die manpage von fork.

    auf bald
    oenone
     
  4. Renn25

    Renn25 Mitglied

    Dabei seit:
    26.10.2005
    Beiträge:
    41
    Zustimmungen:
    0
    Danke, leuchtet irgendwie auch ein. :))


    gruss
    Renn
     
Thema:

Prozesse mit fork()

Die Seite wird geladen...

Prozesse mit fork() - Ähnliche Themen

  1. Prozesse mit Kindern in ScreenSession transferien

    Prozesse mit Kindern in ScreenSession transferien: Moin, ich hab mal ne Allg. Frage ob das überhaupt geht. Allg kann man ja einzelne Processe von einem terminal in ein anderes packen....
  2. Demon im Runlevel2 erzeugt SIGTERM in den nachfolgenden Prozessen

    Demon im Runlevel2 erzeugt SIGTERM in den nachfolgenden Prozessen: Hallo Ich habe apache derby auf meinem UBUNTU-System installiert und lass es normal in runlevel 2 hochfahren. sh...
  3. Mozilla will Firefox-Prozesse verbessern

    Mozilla will Firefox-Prozesse verbessern: Es bleibt bis auf weiteres bei den schnellen Veröffentlichungszyklen und den Versionsnummern von Firefox. Wie Mitchell Baker erklärte, will...
  4. Samba Share / Linux Prozesse -> Violation

    Samba Share / Linux Prozesse -> Violation: Hallo, ich habe folgende Situation. 1.) Samba freigabe auf /usr/app/interfaces 2.) Eine Unix Applikation scannt alle 60sec dieses...
  5. Threads || Prozesse & Semaphoren

    Threads || Prozesse & Semaphoren: Hallo, ich muss für die Schule eine simulation programmieren. Es handelt um diese Problemstellung: "Simulieren sie eine Mautstelle mit zwei...