|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
Взаимодействие процессов14.12.2011, 13:03. Показов 6414. Ответов 27
Метки нет (Все метки)
Подскажите пожалуйста как мне наладить взаимодействие между двумя процессами через каналы.
Вот допустим есть у меня два процесса которые отображают данные через mmap в один файл. А как мне наладить взаимодействие между ними? Как заставить например второй процесс принимать данные из этого mmap, ну вот чтобы он ожидал пока там не появиться сообщение и печатал его сразу после того как оно там появляется. Как заставить его следить за этим каналом между потоками? Ну и вопрос на засыпку: зачем козе баян, те зачем мне mmap если я и так могу средствами си писать данные в файл, закрывать файл, а во втором процессе в это время открывать файл и считывать данные с файла и тоже закрывать его. Добавлено через 3 минуты О том что такое mmap читал здесь так что отталкиваюсь от тех данных.
1
|
|
| 14.12.2011, 13:03 | |
|
Ответы с готовыми решениями:
27
Взаимодействие процессов. Сигналы
Взаимодействие процессов |
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 14.12.2011, 19:36 [ТС] | |
|
Ошибка естественно после вызова моего execv, до него ошибок нет в errno.
Добавлено через 2 минуты talis, а, я null забывал дописывать в последний аргмуент вот оно мне их и удваивало наверное, вот только не думаю я что это явл. причиной проблемного создания процесса. Добавлено через 6 минут Хм, а когда аргументы ограничил NULL в конце то теперь вызов сработал, правда колличество полученных аргументов не 3 почему-то, хотя у меня их 3 + 4ый =NULL.
0
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 14.12.2011, 20:05 [ТС] | |
|
talis, ну я понимаю что он не считается потому и странно так как массив передал arg[4], а проверка во втором процессе говорит что аргументов меньше 3х. Сейчас заставлю проверку выводить что она получает независимо от того хватает ли параметров.
Добавлено через 2 минуты Второй процесс говорит что получает ноль аргументов ![]() Добавлено через 2 минуты А, нет, моя вина, копировал не ту переменную, теперь работает.
0
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 14.12.2011, 22:18 [ТС] | |
|
Уфф, с первым пунктом лабораторной значит закончил, хотя и долго провозился, спасибо кто подсказывал. Теперь попробую разобраться с mkfifo(), надеюсь с ним будет быстрее и легче.
Добавлено через 2 часа 1 минуту C pipe тоже разобрался, очень помог пример talis. Теперь последний пункт: отправка и приём с помощью примитивов типа send / receive. Добавлено через 6 минут Что-то не так то просто выгуглить что именно от меня хотят... Задание полностью звучит как "Реализовать взаимодействие между процессами на основе механизма синхронной передачи сообщений при помощи примитивов send и receive." Я так догадываюсь что это опять же таки через отображение в памяти, но не могу найти полезную информацию в гугле на эту тему чтобы с хоть каким-то примером была.
0
|
|
|
|
|
| 14.12.2011, 22:43 | |
|
Gepar, нет. Думаю, имеются ввиду сокеты. Сетевые, как везде, или "локальные" или "юниксовые" сокеты. Предполагаю, что последнее.
Добавлено через 27 секунд Но локальных сокетов на винде нет, это юникс-онли.
0
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 14.12.2011, 22:51 [ТС] | |
|
talis, ну ... может и локальные сокеты, но где можно о пересылке сообщений через них этими методами почитать?
0
|
|
|
|
|
| 15.12.2011, 11:00 | |
|
Gepar, вот огромнейшая статья по межпроцессному взаимодействию в Unix (англ.). Может, поможет:
Beej's Guide to Unix IPC
0
|
|
| 15.12.2011, 11:00 | |
|
Взаимодействие процессов Взаимодействие процессов / WinAPI Взаимодействие двух процессов Взаимодействие процессов в Windows Взаимодействие 2-ух процессов через разделяемую память Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|