0xDEFACE

Заморочка с dup2()

18.06.2010, 14:26. Показов 1445. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!

В прикрепленном файле ff7.zip есть код программы, который используя одностороннюю связь между родительским процессом и дочерним через пайп (т.е. данные от родителя передаются потомку через пайа) имитирует что-то вроде шелла (исполнитель команд).

В файле ff8.zip находится абсолютно аналогичная программа, в которой используется двусторонняя связь родителя с потомком. То есть родительский процесс передает данные дочерниму процессу через пайп, а дочерний процесс возвращает данные (результат) родителю через другой пайп.

Проблема в том, что никак не получается реализовать ТАКОЙ ЖЕ интерфейс в программе ff8, как и в ff7. Для этого, я так понимаю нужно просто кое-где воткнуть соответствующий dup2() (наверное 2 штуки).
Собственно вопрос к аудитории: КУДА? Пожалуйста помогите разобраться!!

P.S. За оригиналы программ спасибо: http://www.iakovlev.org/index.html?p=226&l1=2&l1=2

Итак, разархивируем ff7.zip. Компилируем, например так:

$ gcc ff7.c -o ff7

Запускаем:
$ ./ff7

Открываем новый терминал/консоль и командуем, например следующее:

$ echo pwd > input.txt

Наблюдаем за результатом в первой консоле.

Нужно достичь АБСОЛЮТНО такого же взаимодействия и интерфейса в ff8, путем правильного использования dup2()...

P.S. Если компилите из-под никсов (я компилил под cygwin последний раз :-)), понадобится заменить cmd на ваш шелл (csh/bash...):

C
1
2
char* cmd[] = { "bash", (char *)0 };
execvp("bash", cmd);
Вложения
Тип файла: zip ff7.zip (599 байт, 33 просмотров)
Тип файла: zip ff8.zip (782 байт, 41 просмотров)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.06.2010, 14:26
Ответы с готовыми решениями:

dup2&exec
Здравствуйте. int fd = open(...) // successful; dup2(fd, 1); close(fd); execv(prog, args); Вот такой код не работет. Т. е. в...

Не работает dup2
Здравствуйте! Пытаюсь ассоциировать ввод с выводом, но почему-то все равно выводит все в обычный поток вывода :( #include...

заморочка с Директом
Всё просто: в деректе лежит бабос, а вот при попытке вывода (ЦОП -SpyLOG) смотрю что и выводить нечего... Статистика висит! Что за...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.06.2010, 14:26
Помогаю со студенческими работами здесь

Заморочка с ХРюшей
Как восстановить NTLDR??? Где скачать ХРюшу 2010,SP 3 Prof.Rus+Key???....заранее спасибо=)

Заморочка с Excel
Здравствуйте, уважаемые форумчане! У меня такой вопрос, есть 2 колонки значений (вложение Для инета), эти колонки нужно как-то разбить по...

Заморочка с стилем
Всем привет!!! Ребята подскажите как правильно сделать ссылку-картинку. Вот часть кода с файла стилей: /* Menu */ #menu...

Заморочка слушателя мыши
import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import...

Заморочка с коллекцией документов.
Во вьюшке прикрутил кнопку, по которой обрабатываю отмеченные документы в коллекции. Все работает но… вот что-то не получается галочки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru