Warum ist das Erstellen eines Prozesses ein zweistufiger Prozess (Fork-Exec)?

334
ddmichael

Ich studiere Tanenbaums Buch "Modern Operating Systems" und er erklärt das:

Der Grund für diesen zweistufigen Prozess besteht darin, dem Kind zu erlauben, seine Dateideskriptoren nach der Verzweigung, aber vor der Ausführung zu bearbeiten, um die Umleitung der Standardeingabe, der Standardausgabe und des Standardfehlers zu erreichen.

Könnten Sie das näher erläutern?

0
Erwähnt er CLOSE ON EXEC? Es gibt Dateideskriptorattribute, die bestimmen, ob ein Dateideskriptor in einem Exec erhalten bleibt. Wenn also ein Deskriptor geschlossen wird, müssen Sie möglicherweise etwas tun, wie beispielsweise den Aufruf von ioctl () und fcntl (), um die Attribute zu ändern. jim mcnamara vor 9 Jahren 0
Nein, ich fürchte, er gibt dazu keine weiteren Informationen. ddmichael vor 9 Jahren 0

0 Antworten auf die Frage