Присоединение к бесхозному процессу в QT - PullRequest
1 голос
/ 19 ноября 2009

Мы готовим приложение с использованием Qt, которое имеет основной процесс, который управляет графическим интерфейсом и порождает процессы, которые выполняют фактическую обработку данных. Обмен сообщениями между основным процессом и процессами обработки данных осуществляется с использованием механизмов Qt и каналов stdin / stdout.

Теперь, в случае сбоя графического интерфейса, другие процессы продолжают работать. Мы хотели бы иметь возможность при запуске нового графического интерфейса подключиться к этим процессам, как и раньше. Кто-нибудь знает, возможно ли это, и если да, то как этого добиться?

Ответы [ 2 ]

1 голос
/ 19 ноября 2009

Это возможно, если вы используете именованный канал для связи с процессом. stdin / out закрываются, если процесс, к которому они принадлежат, завершается.

0 голосов
/ 19 ноября 2009

Возможно, вы захотите исследовать общую память для связи между процессами. Кажется, я вспоминаю, что он мог восстановиться в очень похожей ситуации на предыдущей работе.

Другая возможность, если ваша платформа поддерживает это, - использовать dbus для связи между процессами. Если это так, то ни один из процессов не должен быть там, но будет действовать, получая соответствующие сообщения, если он работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...