- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
На работе такая таска:
Есть сервис, который запускает наши сервисы и следит за ними, напр. перезапускает, если один из них упал.
Таска такая, что нужно посылать всем сервисам сообщения из командной строки.
Т.е. уже можно послать сигналы из командной строки (SIGTERM, SIGHUP, и.т.д)
`svctl -s stop` - наример.
Но теперь нужно посылать SIGUSR1, перед этим записав в файл сообщение, тоже переданное из командной строки. Все запущенные сервисы по этому сигналу должны прочитать файл с сообщением и обработать его.
И вот тут я сомневаюсь, что так правильно.
1. Может лучше открыть именованный канал, и туда всё посылать, без сигналов? Но тут треды и код усложнится, а проект простой, на 20 методов в двух классах.
2. Если это всё же правильно, то вместо файла тоже может использовать именованный канал для обмена сообщениями?
guest6 19.09.2022 17:54 # −4
Сигналы звучат как хорошее решение. К ним можно паровозиком привязать данные:
https://man7.org/linux/man-pages/man2/sigqueue.2.html
const union sigval value
JlAKOMKA 19.09.2022 18:40 # +2
hormand 20.09.2022 20:57 # 0
ISO 19.09.2022 20:11 # +1
nyTuH_nugop 19.09.2022 20:24 # 0
JlAKOMKA 19.09.2022 21:43 # +3
Ребята з Укриини даже детский крем подготовили, чтоб лучше входило.
guest6 19.09.2022 20:36 # −1
Я был у вас в городе как раз осенью кажется. Останавливался в хостеле Localhostel. Не задолго до теракта
ISO 20.09.2022 20:37 # 0
guest6 20.09.2022 20:57 # 0
уйди на три недели в запой, а потом РЕЗКО смени проект
CMEPTb 20.09.2022 20:59 # +2
Если сгорел, дорога одна - в колумбарий
Pedobear 20.09.2022 21:13 # 0
hormand 20.09.2022 20:52 # 0
nyTuH_nugop 19.09.2022 20:25 # 0
Какие всё-таки прыщепроблемы...
guest6 19.09.2022 20:34 # +1
Впрочем, ты прав: svc на пинде еще в nt4 это умели.
А как это говно у яблок называлось? launchd?
bormand 20.09.2022 20:22 # 0
З.Ы. Только нафига вам самодельный менеджер сервисов?
guest6 20.09.2022 20:53 # 0