Unix Man (Справочное руководство)


EXEC(2) - часть 3


Присоединенные разделяемые сегменты памяти не наследуются новым процессом [см. ].

У нового процесса выключено профилирование.

Кроме того, новый процесс наследует у процесса, вызвавшего exec, следующие характеристики:

  1. Значение поправки к приоритету [см. ].
  2. Идентификатор процесса.
  3. Идентификатор родительского процесса.
  4. Идентификатор группы процессов.
  5. semadj значения [см. ].
  6. Идентификатор группы терминала [см. ].
  7. Режим трассировки [см. ].
  8. Время, оставшееся до срабатывания будильника [см. ].
  9. Текущий рабочий каталог.
  10. Корневой каталог.
  11. Маска режима создания файлов [см. ].
  12. Ограничение на размер файла [см. ].
  13. Счетчики времени, потраченного для обслуживания этого процесса (tms_utime, tms_stime, tms_cutime, tms_cstime) [см. ].
  14. Блокировки доступа к сегментам файлов[см. и ].

Системный вызов exec завершается неудачей и управление возвращается, если выполнено хотя бы одно из следующих условий:

[ENOENT] Компонент маршрута нового выполняемого файла не существует. [ENOTDIR] Компонент маршрута нового выполняемого файла не является каталогом. [EACCES] Один из каталогов, перечисленных в маршруте нового выполняемого файла, не доступен для просмотра. [EACCES] Новый выполняемый файл не является обычным файлом. [EACCES] Нет прав на выполнение нового файла. [ENOEXEC] Права на выполнение нового файла есть, но его заголовок не начинается с допустимого магического числа [см. a.out(4)]. [ETXTBSY] Новый выполняемый файл в настоящий момент открыт для записи некоторым процессом. [ENOMEM] Новый процесс требует больше памяти, чем позволяет системное ограничение MAXMEM. [E2BIG] Суммарная длина списка аргументов превышает системное ограничение, равное 5120 байт. [EFAULT] Отсутствует требуемое оборудование. [EFAULT] Некорректные адреса в качестве аргументов. [EAGAIN] Не хватает памяти. [ELIBACC] К требуемой разделяемой библиотеке не разрешен доступ на выполнение. [ELIBEXEC] Попытка непосредственно выполнить разделяемую библиотеку. [EINTR] Во время выполнения вызова exec перехвачен сигнал. [ENOLINK] Аргумент path указывает на удаленный компьютер, связи с которым в данный момент нет. [EMULTIHOP] Компоненты path требуют многократного обращения к удаленным компьютерам.

СМ. ТАКЖЕ


, , , , , , , , , , , , , , a.out(4), .

в Справочнике пользователя.

ДИАГНОСТИКА


Возврат из системного вызова exec свидетельствует об ошибке. В таком случае результат равен -1, а переменной errno присваивается код ошибки.




Начало  Назад  Вперед



Книжный магазин