Мне нужно разработать процесс, который запускается и продолжает работать, когда на локальном хосте не запущен другой такой процесс. Последующие локальные экземпляры этого процесса (порожденные другими процессами, т. Е. Не разветвленными дочерними / родительскими) затем должны выполняться только для того, чтобы каким-либо образом передать свои параметры командной строки исходному процессу для обработки, а затем завершить работу как можно скорее.
Я знаю, что мне нужен IPC для достижения этой цели, в то время как мне нужно свести к минимуму издержки, связанные с занимаемой площадью и скоростью выполнения, так что это исключает использование сокетов и других сетевых IPC, таких как очереди сообщений.
Порожденные процессы должны как-то быть осведомлены о главном процессе. Для хостов не требуется IPC.
Я думаю об использовании именованного канала, но хочу знать альтернативы. Например, будет ли более эффективен анонимный канал через общий дескриптор, записанный в файл?
В этом случае механизм важен; не язык и среда, содержащиеся в примерах. Я буду реализовывать механизм на C или C ++.