Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2013, 23:23   #1
Npwas
Форумчанин
 
Аватар для Npwas
 
Регистрация: 26.09.2011
Сообщений: 158
Вопрос Обмен сигналами между процессами. Linux. Язык C.

Не знаю как уже решить проблему, свиду все работает, за исключением маленькой ошибки что процессы 5, иногда и 4-ый, получают на 1-10 сигналов меньше нужного,
самая проблема в том что преподавателю не лень проверить всю работу программы по микросекундам, по каждому шажку )))
Может я не совсем правильно во втором процессе использую вызов kill(0,SIGUSR1) )

Cуть задачи: Процессы непрерывно обмениваются сигналами. Запись вида: 1->(2,3,4,5) означает, что исходный процесс 0 создаёт дочерний процесс 1, который, в свою очередь, создаёт дочерние процессы 2,3,4,5. Запись вида: 1->(2,3,4) SIGUSR1 означает, что процесс 1 посылает дочерним процессам 2,3,4 одновременно (т.е. за один вызов kill() ) сигнал SIGUSR1.Каждый процесс при получении или посылке сигнала выводит на консоль информацию в следующем виде:
N pid ppid послал/получил USR1/USR2 текущее время (мксек)
где N-номер сына
Процесс 1, после получения 101 –го по счету сигнала SIGUSR, посылает сыновьям сигнал SIGTERM и ожидает завершения всех сыновей, после чего завершается сам. Процесс 0 ожидает завершения работы процесса 1 после чего завершается сам. Сыновья, получив сигнал SIGTERM, завершают работу с выводом на консоль сообщения вида:
pid ppid завершил работу после X-го сигнала SIGUSR1 и Y-го сигнала SIGUSR2
где X,Y – количество посланных за все время работы данным сыном сигналов SIGUSR1 и SIGUSR2
Код в файле:
test.txt
<----Весы Там.
Npwas вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Взаимодействие между процессами СветОК Операционные системы общие вопросы 0 17.12.2012 16:06
Обмен сообщениями между отдельными процессами aka.vatakats Помощь студентам 7 27.04.2012 06:00
Обмен сообщениями между отдельными процессами aka.vatakats Помощь студентам 1 26.04.2012 18:29
Обмен данными между процессами. Но вопрос по семафоры :) RAZOR1703 Win Api 8 28.11.2011 21:37
Обмен данными между двумя процессами ReGreed Общие вопросы C/C++ 6 27.05.2011 15:31