У меня есть следующие требования к системе удаленного выполнения / управления процессами, и я решил спросить, видел ли кто-нибудь что-либо подобное доступное по условиям лицензирования свободного программного обеспечения / с открытым исходным кодом, прежде чем сам написать это:
Работает на Linux.
На каждой машине в кластере должен быть запущен локальный демон выполнения / управления в качестве системной службы, который может выполнять следующие действия:
1. Поддерживать TCP-соединение с клиентским приложением (инициированное клиентом).
2. Запустите дочерний процесс с помощью пути к исполняемому файлу, аргументов командной строки, среды процесса и перенаправления stdout / stderr в файлы в ответ на команду, полученную от клиента.
3. Завершите дочерний процесс в ответ на команду, полученную от клиента.
4. Сообщите об окончании дочернего процесса асинхронно всем подключенным клиентам.
5. Сообщайте статистику дочерних процессов (CPU, I / O и т.д.) Асинхронно всем подключенным клиентам (это необязательная функция).
По сути, у меня есть среда, в которой длительные процессы необходимо смешивать с пакетными процессами под управлением (набором) главных серверов, которые поддерживают текущее глобальное состояние, конфигурацию управляемых процессов (запущенных или нет) и балансировка нагрузки новых процессов. Асинхронное сообщение о завершении дочернего процесса без опроса является обязательным, поэтому ssh не подходит. Главный сервер будет достаточно настроен, но я надеюсь найти демона, который сможет управлять действиями на одном компьютере.