Я создаю программу на C и с ее помощью настраиваю канал между отдельно разветвленными процессами для межпроцессного взаимодействия.
Первый процесс записал нужные мне данные в канал. Однако, когда второй процесс читает из канала, я пытаюсь выполнить процесс, чтобы он стал командой сортировки UNIX. Я хочу как-то вызвать сортировку данных в канале.
Как я могу вызвать сортировку на канале? В командной строке я могу сортировать, указав имя файла для сортировки в качестве аргумента командной строки, например. "сортировать -r MyFileToSort". Я знаю, что каналы по сути считаются файлами, но они описываются только своим файловым дескриптором, и, насколько мне известно, sort не знает, что делать с fd.
Спасибо за любую помощь/отзыв
mkpipe()
, к стандартному вводу или стандартному выводу. - person Charles Duffy   schedule 07.01.2015strace bash -c 'generate_data | sort >MyOutputFile'
, чтобы увидеть, как оболочка выполняет задачу. - person Charles Duffy   schedule 07.01.2015