Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 04.04.2012
Сообщений: 21

Обмен данными между процессами с использованием СООБЩЕНИЙ

22.04.2012, 15:04. Показов 1794. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, форумчане!
Помогите, пожалуйста, разобраться с данным видом взаимодействия процессов.
Например у меня есть две программы:
1-ая (сервер) выполняет команду ps и результаты ее выполнения передаются клиенту(2-ая программа)
2-ая (программа) выводит эти результаты на терминал.

Прошу написать кодик 1 и 2 проги и объяснить, где происходит передача, а где прием!

Заранее спасибо!

Добавлено через 9 минут
Видимо, нужно использовать модули:

#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>

Из Робачевского:
Для идентификации сообщений можно использовать ключи, которые генерируются в системе при вызове функции
key_t ftok(char *filename, char proj);


Если процессу необходимо создать новую очередь сообщений, то флаг должен содержать макрос IPC_CREAT, а также права на чтение и запись сообщений в очередь (0644). При нормальном завершении функция возвращает идентификатор очереди, в случае ошибки возвращается значение -1.
Посылка и прием сообщений организуются при вызове функций
int msgsnd(int msgid, struct msgbuf *msgp, int msgsz, int msgflg);
и
int msgrcv(int msgid, struct msgbuf *msgp, int msgsz, long msgtyp, int msgflg);
Первый параметр задает идентификатор очереди. Второй параметр является указателем на сообщение. Сообщение представляет собой структуру
struct msgbuf {
long mtype; /* тип сообщения */
char mtext[]; /* указатель на буфер сообщения */
};
Параметр msgsz определяет длину сообщения. При значении параметра msgflg=0 процесс может блокироваться до тех пор пока функция не будет выполнена. Параметр msgtyp задает правила выбора сообщения из очереди. При нулевом значении параметра из очереди извлекается самое старое сообщение любого типа. Положительное значение определяет прием самого старого сообщения указанного типа.
Удаление очереди из системы производится при вызове функции
int msgctl(int msgid, int cmd, struct msgbuf *msgp);
при значении параметра cmd равном IPC_RMID.

Добавлено через 2 часа 21 минуту
ОЙ, немножко не туда засунул тему.
Модераторы, перенесите тему, пожалуйста, из С++ под Linux
в С под Linux
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.04.2012, 15:04
Ответы с готовыми решениями:

Обмен данными между процессами, сокеты
чувствую я пока вообще не врубаюсь помогите разобраться как передать данные другому процессу через сокеты #include &lt;stdio.h&gt; ...

Обмен сигналами между процессами
/*12.Процесс 1 открывает файл ипорождает потомка 2. Процесс 1 с интервалом в 1 секунду (через alarm)посылает M сигналов SIG1 процессу 2,...

Отправка сообщений между дочерними и родительским процессами (fork,pipe,write,read)
Здравствуйте, помогите реализовать отправку сообщений по следующей схеме: Попытался самостоятельно реализовать первую схему, вот что...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.04.2012, 15:04
Помогаю со студенческими работами здесь

Обмен данными между потоками
Доброе время суток. У меня встал такой вопрос: нужно из главного потока в другой послать данные. В интернете искала какими функциями для...

Обмен данными между процессами
При создании дочернего процесса при помощи функции BOOL CreateProcess ( LPCTSTR lpApplicationName, // имя...

Обмен данными между процессами с использованием сообщений
Добрый день, форумчане! Помогите, пожалуйста, разобраться с данным видом взаимодействия процессов. Например у меня есть две программы: ...

Обмен данными между процессами, с использованием socket
обмен данными с использованием socket используя TPC- socket обмен данными между процессами доп:ip адрес в socket 127.0.0.1 входные...

Обмен данными между процессами (с использованием CreateFileMapping, MapViewOfFile, UnMapViewOfFile)
Помогите кто может и чем может, пожалуйста. Нужно разработать приложение, с помощью которого можно осуществить обмен данными между...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru