Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
wie funktioniert fork()

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Systemmaus



Anmeldungsdatum: 06.02.2007
Beiträge: 1

BeitragVerfasst am: 06. Feb 2007 12:34   Titel: wie funktioniert fork()

Hallo zusammen,

ich muss folgende Aufgabe lösen:

Welche Welche Ausgabe erzeugt das folgende Programm?

#include <stdio.h>
#include <unistd.h> // wg. getpid
int x = 0;
int main()
{
fork();
fork();
fork();
printf("pid=%d x=%d\n", getpid(), x++);
}

ich würde sagen, es werden 4 Prozesse erzeugt (1 Vater und 3 Kinder) und es wird nur ein pid ausgegeben. x = 1
Oder werden es eigentlich 8 Prozesse erzeugt, da jedes Kind auch geklont wird???? Werden dann auch 8 pid ausgegeben???

Ich wollte das Programm unter Windows testen, leider funktioniert das nicht und mein Linux-Rechner ist zur Zeit defekt.

Ich würde für jede Antwort dankbar!

Gruß
 
Benutzer-Profile anzeigen Private Nachricht senden

klopskuchen
prolinux-forum-admin


Anmeldungsdatum: 26.06.2004
Beiträge: 1444

BeitragVerfasst am: 06. Feb 2007 14:19   Titel:

fork();
Vater
Kind_1
fork();
Vater, Kind_1
Kind_2 , Kind_1_1
fork();
Vater, Kind_1, Kind_2, Kind_1_1
Kind_3, Kind_1_1, Kind_2_1, Kind_1_2

Macht nach drei fork()-Aufrufen acht Prozesse (einschl. erster Vater), nach vier Aufrufen sechzehn, nach fünf Aufrufen 32 ...
_________________
When all else fails, read the instructions .
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy