Название: QtService и общая c консолью память Отправлено: cdsmika от Октябрь 15, 2014, 02:13 Задача сделать глобальный признак того, что приложение уже запущено.
У меня два исполнения одной и той же реализации: одна в виде QtService, другая в виде консоли. Подсмотрел следующий код: Код: bool Worker::isJobAlreadyRunning() а вот сервис разделяемый кусок памяти не видит и продолжает работать при запущенной консоли. И наоборот консоль ничего не ведает о куске памяти сервиса Название: Re: QtService и общий c консолью ресурс Отправлено: vitfil от Октябрь 15, 2014, 06:16 Поиском: singleton
Название: Re: QtService и общий c консолью ресурс Отправлено: kuzulis от Октябрь 15, 2014, 10:21 Можно в реестр писать признак. Я так делаю. У меня в проекте куча приложений (3 штуки, включая сервис). Так вот, из каждого надо знать состояние другого (запущено или нет). Так вот, я тупо пишу в реестр все :).
Название: Re: QtService и общий c консолью ресурс Отправлено: cdsmika от Октябрь 15, 2014, 10:49 Можно в реестр писать признак. Я так делаю. У меня в проекте куча приложений (3 штуки, включая сервис). Так вот, из каждого надо знать состояние другого (запущено или нет). Так вот, я тупо пишу в реестр все :). А кто будет чистить реестр, если приложение упадет? Это не очень-то надежный способ )Название: Re: QtService и общий c консолью ресурс Отправлено: cdsmika от Октябрь 15, 2014, 10:54 Поиском: singleton Что-то не помогло решить проблему (Название: Re: QtService и общий c консолью ресурс Отправлено: cdsmika от Октябрь 15, 2014, 11:03 Старт сервиса:
Код: int main(int argc, char **argv) Старт консоли: Код: int main(int argc, char *argv[]) Название: Re: QtService и общий c консолью ресурс Отправлено: cdsmika от Октябрь 15, 2014, 11:06 Попробую QLocalSocket
http://developer.nokia.com/community/wiki/Run_only_one_instance_of_a_Qt_application Название: Re: QtService и общий c консолью ресурс Отправлено: cdsmika от Октябрь 15, 2014, 14:52 Попробую QLocalSocket Да, так работает и в сервисе:http://developer.nokia.com/community/wiki/Run_only_one_instance_of_a_Qt_application Код: bool Job::isJobAlreadyRunning() |