Троан Эрик В.
Шрифт:
11.7.2. Изменения в коде
Как только в
Теперь посмотрим, что происходит внутри цикла. Основная идея описана ниже.
1. Если это финальный процесс в задании, убедиться, что
2. Породить новый процесс. Внутри дочернего перенаправить stdin и stdout, как указано с помощью
3. Вернувшись обратно в родительский процесс, закрыть
4. Теперь настроить следующий процесс в задании для приема его ввода из вывода процесса, который мы только что создали (через
Вот как эти идеи перевести на С.
Единственный код, добавленный в
Глава 12
Обработка сигналов
Сигналы — это простейшая форма межпроцессного взаимодействия в мире POSIX. Они позволят одному процессу быть прерванным асинхронным образом по инициативе другого процесса (или ядра) для того, чтобы обработать какое-то событие. Обработав сигнал, прерванный процесс может продолжить выполнение с точки прерывания. Сигналы используются для решения таких задач, как завершение процессов и сообщения демонам о необходимости перечитать конфигурационный файл.