IT-словарь › Программирование › exec

exec

Программирование Svenska → Обновлено: 2026-10-18

Системный вызов, подменяющий содержимое процесса другой программой: процесс тот же, код новый.

Если fork() создаёт новый процесс, то exec() оставляет процесс, но выбрасывает его память, загружает новый исполняемый файл и стартует с его точки входа. PID, открытые файловые дескрипторы и рабочий каталог сохраняются. При успехе вызов никогда не возвращается — возвращаться некуда, прежнего кода больше нет.

Связка fork + exec — способ Unix запускать программы, и разделение сделано намеренно: между двумя вызовами потомок может изменить то, что должно относиться к новой программе, — перенаправить стандартный вывод, задать переменные окружения, сбросить привилегии. Именно это делает шелл, когда вы вводите команду с >.

← Назад к словарю