mayton2019, отдельный процесс который запускает/останавливает остальные в нужном порядке, за тем, чтобы они все оставались запущенными. Если один из процессов вдруг вылетит с фатальной ошибкой или его что-то прибьет/прибить вручную, то прибиваются и остальные
mayton2019, проблем нет ) По крайней мере на горизонте десятков минут. Но чтобы быть уверенным, если не поступит конкретного ответа, я так понимаю придется проводить эксперимент: запускать 2 процесса, устанавливать между ними соединение и оставлять на сутки, не передавая ничего по этому соединению.
Voland69, отслеживание процессов реализовано, в случае выявления проблем (умер один из процессов или т.п.) предусмотрена перезапуск всех. Если кто-то не запустится, не запустятся и другие. Почему спрашиваю, а не делаю "на всякий случай": реализация пинга между процессами - это задача не сложная и не требовательная к ресурсам, но это дополнительные таймеры, следовательно лишние переключения между процессами (если это, например, простенький VPS и доступно только 1-2 ядра), что само по себе плохо сказывается на производительности.
mayton2019, обычное асинхронное TCP-соединение. Я тоже не знаю, поэтому и спрашиваю ) Знаю, например, что mysql рвет неактивные соединения, и внешние и локальные, но он делает это сам. Я же соединения разрывать/переподключать не собираюсь, при запуске соединились, при остановке сами разорвутся. Но если что-то в системе следит за соединениями и рвет их, то значит надо реализовать периодический ping и, на всякий случай, продумать и реализовать действия при их разрыве.