|
0 / 0 / 0
Регистрация: 25.12.2009
Сообщений: 19
|
||||||
Взаимодействие процессов. Сигналы22.04.2011, 13:44. Показов 7170. Ответов 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1
У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\
А в самом низу файла-профиля. . .
|