Троан Эрик В.
Шрифт:
Большая часть
Следующая функция,
Функция
Пока
Если же команда не является встроенной, необходимо выполнить дочернюю команду. Поскольку каждое задание состоит только из одной программы (до тех пор, пока не будут реализованы каналы), это сделать достаточно просто.
Во-первых, с помощью
После порождения дочернего процесса родитель помещает его в его собственную группу и записывает задание в список запущенных заданий. Если процесс должен выполняться на переднем плане (не в фоне), родитель вносит дочерний процесс в группу процессов переднего плана управляющего терминала, на котором работает командная оболочка.
Следующая функция,
1. Ищет задание, частью которого является процесс.
2. Помечает программу как завершенную (устанавливая сохраненный pid равным 0) и уменьшает количество работающих программ в задании на единицу.
Если задание, содержавшее завершенный процесс, не имеет других работающих процессов, что всегда верно для данной версии
Процедура
Остаток функции
Переменная