Hier ist ein Codebeispiel, in dem der Bibliotheksaufruf fork
verwendet wird, um einen untergeordneten Prozess zu erstellen, der den Adressraum des übergeordneten Elements freigibt. Der untergeordnete Prozess führt seinen Code aus, ohne den Systemaufruf exec
zu verwenden. Meine Frage ist: Ist der Systemaufruf exec
nicht erforderlich in dem Fall, dass sowohl die Eltern- als auch die Kindprozesse dasselbe Programm ausführen?Ist es möglich, Fork ohne Exec zu verwenden, wenn beide Prozesse dasselbe Programm ausführen?
#include <stdio.h>
int main()
{
int count;
count = fork();
if (count == 0)
printf("\nHi I'm child process and count =%d\n", count);
else
printf("\nHi I'm parent process and count =%d\n", count);
return 0;
}
Ja, das ist möglich und ziemlich häufig. –
Nirgends steht geschrieben, dass man '' 'nach' 'Gabelung' ausführen muss. Dies bedeutet, dass Sie absolut "fork" sagen können, ohne 'exec' zu nennen. Daher ist unklar, was Sie fragen. –
Nun ... nur weil die Antwort auf die Frage offensichtlich ist, bedeutet das nicht, dass es unklar ist, was die Frage ist. – Adrian