|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.04.2013, 23:23 | #1 |
Форумчанин
Регистрация: 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
<----Весы Там.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Взаимодействие между процессами | СветОК | Операционные системы общие вопросы | 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 |