Der obige Code erstellt einen neuen Prozess, wenn es den Fork-Aufruf ausführt, dieser Prozess wird eine fast exakte Kopie des ursprünglichen Prozesses sein. Beide Prozesse werden weiterhin separat bei der Rückkehrform ausgeführt, der Gabelungsruf, der die Frage aufwirft "Woher weiß ich, ob der neue Prozess oder der alte Prozess?" da sie fast identisch sind. Um dies zu tun, haben die Fork-Designer den fork-Aufruf veranlasst, verschiedene Dinge in jedem Prozess zurückzugeben, in dem neuen Prozess (das Kind) gibt der fork-Aufruf 0 zurück und der ursprüngliche Prozess (der übergeordnete Fork) gibt die ID des neuen Prozesses zurück, so dass der Vater es kann interagieren mit ihm.
So im Code erstellt der Fork-Aufruf einen untergeordneten Prozess, beide Prozesse tun die If-Anweisung seportal. Im Eltern ist der Rückgabewert nicht Null, also führt der Elternteil die if-Anweisung aus. Im Rückgabewert ist der Rückgabewert 0, also die else-Anweisung. Hoffe, das hilft :-)
Needs 'Hausaufgaben' Tag? –