[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Про пайпы, конвейеры и каналы



> > Конвейер -- это группа команд (термин), порождаемая *sh при выполнении
> > командной строки, содержащей перенаправления посредством каналов.
> 
> Обязательно *sh? А что, на C или perl-е нельзя несколько процессов связать
> в конвейер. Или это уже будет не конвейер, тогда что? Может быть это более
> общее понятие?

Ответ -- нельзя. Ибо только шелл имеет встроенные средства для автоматической
организации группы процессов с правильным назначением лидера группы и
правильным обращением с pipes. На C тебе все придется делать руками, то есть
fork()'ать отдельные процессы, dup()'ать, закрывать ненужные концы каналов и
звать setsid. Если ты все это сделаешь -- молодец, изготовил конвейер.
Процессы в котором будут взаимодействовать через каналы определенным образом.

-- 
Alexey Vyskubov
(at home)
Hi! I'm a .signature virus! Copy me into your ~/.signature to help me spread!



Reply to: