- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
На работе такая таска:
Есть сервис, который запускает наши сервисы и следит за ними, напр. перезапускает, если один из них упал.
Таска такая, что нужно посылать всем сервисам сообщения из командной строки.
Т.е. уже можно послать сигналы из командной строки (SIGTERM, SIGHUP, и.т.д)
`svctl -s stop` - наример.
Но теперь нужно посылать SIGUSR1, перед этим записав в файл сообщение, тоже переданное из командной строки. Все запущенные сервисы по этому сигналу должны прочитать файл с сообщением и обработать его.
И вот тут я сомневаюсь, что так правильно.
1. Может лучше открыть именованный канал, и туда всё посылать, без сигналов? Но тут треды и код усложнится, а проект простой, на 20 методов в двух классах.
2. Если это всё же правильно, то вместо файла тоже может использовать именованный канал для обмена сообщениями?
Сигналы звучат как хорошее решение. К ним можно паровозиком привязать данные:
https://man7.org/linux/man-pages/man2/sigqueue.2.html
const union sigval value
Ребята з Укриини даже детский крем подготовили, чтоб лучше входило.
Я был у вас в городе как раз осенью кажется. Останавливался в хостеле Localhostel. Не задолго до теракта
уйди на три недели в запой, а потом РЕЗКО смени проект
Если сгорел, дорога одна - в колумбарий
Какие всё-таки прыщепроблемы...
Впрочем, ты прав: svc на пинде еще в nt4 это умели.
А как это говно у яблок называлось? launchd?
З.Ы. Только нафига вам самодельный менеджер сервисов?