|
0 / 0 / 0
Регистрация: 25.12.2009
Сообщений: 19
|
||||||
Взаимодействие процессов. Сигналы22.04.2011, 13:44. Показов 7311. Ответов 11
Метки нет (Все метки)
Создать дерево процессов 1->(2,3) 2->(4,5) 5->6 6->(7,8)
Процессы непрерывно обмениваются сигналами 1->(8,7,6) SIGUSR1 8->4 SIGUSR1 7->4SIGUSR2 6->4 SIGUSR1 4->(3,2) SIGUSR1 2->1 SIGUSR2 (апись 1->(8,7,6) означает, что исходный процесс 0 создаёт дочерний процесс 1, который, в свою очередь, создаёт дочерние процессы 8,7,6. Запись: 1->(8,7,6) SIGUSR1 означает, что процесс 1 посылает дочерним процессам 8,7,6 одновременно (т.е. за один вызов kill()) сигнал SIGUSR1. После передачи 101 –го по счету сигнала SIGUSR родительский процесс посылает сыновьям сигнал SIGTERM и ожидает завершения всех сыновей, после чего завершается. Сыновья, получив сигнал SIGTERM, завершают работу с выводом на консоль сообщения вида: pid ppid завершил работу после X-го сигнала SIGUSR1 и Y-го сигнала SIGUSR2 где X,Y – количество посланных за все время работы данным сыном сигналов SIGUSR1 и SIGUSR2 Каждый процесс в процессе работы выводит на консоль информацию в следующем виде: N pid ppid послал/получил USR1/USR2 текущее время (мксек) N – номер сына Помогите пожалуйста объединить сигналы в группы
библиотеки и бъявления функций убрала, чтобы совсем не загромождать, если нужно - добавлю
0
|
||||||
| 22.04.2011, 13:44 | |
|
Ответы с готовыми решениями:
11
Создание процессов - Сигналы Сигналы для синхронизации процессов Взаимодействие процессов |
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 22.04.2011, 14:07 | |
|
Дочитал до "помогите" и задумался, а что такое группы в которые нужно объединять сигналы?
0
|
|
|
0 / 0 / 0
Регистрация: 25.12.2009
Сообщений: 19
|
||
| 22.04.2011, 19:24 [ТС] | ||
|
0
|
||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 22.04.2011, 19:30 | |
|
Жуть какая. А что такое "дочерний сигнал"?
Извините не посмотрел, что вы симпатичная девушка) Там речь просто про kill(,0) Т.е. вам нужно в потомках которые тоже будут форкаться сделать setpgid()
0
|
|
|
0 / 0 / 0
Регистрация: 25.12.2009
Сообщений: 19
|
|||||||
| 23.04.2011, 00:19 [ТС] | |||||||
|
как я понимаю, в функции signal_handler,например эти три сигнала
за симпатичную девушку спасибо
0
|
|||||||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 23.04.2011, 09:04 | |
|
Наверное, правы)
Чтобы kill(0, SIGUSR1) из процесса 1 отправил сигнал 6,7,8 процессам эти самые процессы должны быть в одной группе. Я понимаю вашу задачу так: 6. setsid(); - это сделает его лидером сессии, потомки 7 и 8 будут иметь ту же process group. 1. killpg(getpgid(gPidArray[6]), SIGUSR1) для 2,3 по аналогии, для остальных оставить как есть.
1
|
|
|
0 / 0 / 0
Регистрация: 25.12.2009
Сообщений: 19
|
||
| 24.04.2011, 12:38 [ТС] | ||
|
не могли бы вы помочь?
0
|
||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 24.04.2011, 13:13 | |
|
К сожалению ваш код в током виде не соберется, а дописывать инклюды,константы,глобальные переменные и тп откровенно лень.
Просто на примере proc6 - после 209 строки делаем setsid(); Сигнал посылать как я писал постом выше.
0
|
|
|
0 / 0 / 0
Регистрация: 25.12.2009
Сообщений: 19
|
|||||||
| 26.04.2011, 13:14 [ТС] | |||||||
|
скину весь код, может, если вам будет не лень, покажете как правильно
0
|
|||||||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||||||
| 26.04.2011, 17:20 | ||||||
|
Вы извините, я ваш код не пытался собрать, но на беглый взгляд там даже скобки блоков кода не бьются, а вычищать ошибки просто некогда.
Вот вам простейший пример: 2 последних ребенка убиваются посылкой сигнала группе.
1
|
||||||
|
TNT
|
||||||
| 29.04.2011, 02:24 | ||||||
|
Посылает сигнал kill() за один вызов.
|
||||||
|
0 / 0 / 0
Регистрация: 25.12.2009
Сообщений: 19
|
||||||
| 11.05.2011, 21:47 [ТС] | ||||||
|
спасибо большое!
вот конечный вариант программы, я ее сдала, с первого раза ![]()
0
|
||||||
| 11.05.2011, 21:47 | |
|
Помогаю со студенческими работами здесь
12
Взаимодействие процессов Взаимодействие процессов Взаимодействие двух процессов Взаимодействие процессов / WinAPI Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль корректности заполнения дат в зависимости от значения перечислений
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
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|