Общее количество системной памяти, предоставленной
Общее количество системной памяти, предоставленной для физического ввода-вывода, временно оказалось недостаточным.
При успешном завершении порожденному процессу возвращается значение
0, а родительскому процессу возвращается идентификатор порожденного процесса. В случае ошибки родительскому процессу возвращается
-1, новый процесс не создается и переменной
errno присваивается код ошибки.
Обычно после порождения порожденный процесс выполняет системный вызов
exec, перекрывающий сегменты текста и данных процесса новыми сегментами текста и данных, взятыми из указанного выполняемого файла. При этом аппаратный контекст процесса инициализируется заново.
Выполняемый файл состоит из заголовка, сегмента команд и сегмента данных. Данные (глобальные переменные) состоят из инициализированной и неинициализированной частей.
Если системный вызов
exec закончился успешно, то он не может вернуть управление, так как вызвавший процесс уже заменен новым процессом. Возврат из системного вызова
exec свидетельствует об ошибке. В таком случае результат равен
-1, а переменной
errno присваивается код ошибки.
Новый процесс наследует у процесса, вызвавшего
exec, следующие основные характеристики:
Значение поправки приоритета.
Идентификатор процесса.
Идентификатор родительского процесса.
Идентификатор группы процессов.
Терминальную линию.
Текущий каталог.
Корневой каталог.
Маску создания файлов.
Ограничения ресурсов.
Счетчики времени, потраченного системой на обслуживание этого процесса.
Блокировки доступа к сегментам файлов.
Содержание Назад Вперед