imho.ws |
![]() |
![]() |
![]() |
# 1 |
Junior Member
Регистрация: 18.02.2004
Адрес: Краснодар
Сообщения: 94
![]() ![]() |
Создание дочерних процессов
Читаю сейчас книгу по операционным системам Таненбаума и Вудхала. Там приведен такой код:
#define TRUE 1 while TRUE { type_prompt ( ); read_command(command, parameters); if (fork( ) != 0) { /* код родительского процесса */ waitpid(-1, &status, 0); } else { /* код дочернего процесса */ execve(command, parameters, 0) } } и указано, что execve "перемещает образ памяти процесса", или иначе "заменяет весь образ памяти процесса файлом, указанным в первом параметре". Как я понял, при создании дочернего процесса, создается копия образа памяти родительского процесса, разничается лишь PID. В частности, образ памяти дочернего процесса содержит код родительского процесса. Но я думаю, что образ памяти дочернего процесса должен содержать не весь код родительского процесса, а лишь часть его, иначе при его выполнении опять будет выполняться и бесконечный цикл, и уже не нужные type_prompt ( ); read_command(command, parameters);. Я правильно понимаю? |
![]() |
![]() |
# 2 |
Junior Member
Регистрация: 18.02.2004
Адрес: Краснодар
Сообщения: 94
![]() ![]() |
Ладно, вот ответ )
http://minix3.ru/cgi-bin/yabb2/YaBB.pl?num=1260562900 |
![]() |