Название: Демон на Qt - реально? Отправлено: bvn13 от Февраль 05, 2010, 21:26 Собственно, сабж. Чего-то я не могу заставить консольное приложение продолжать работать, вернув управление системе... это вознможно реализовать?
Название: Re: Демон на Qt - реально? Отправлено: BRE от Февраль 05, 2010, 21:30 А как возвращаешь управление системе?
Название: Re: Демон на Qt - реально? Отправлено: bvn13 от Февраль 05, 2010, 21:34 если пишу:
Код: QCoreApplication a(argc, argv); то управление не возвращается, а если просто Код: return 0; то завершается... вот и думаю... возможно ли не завершить и управление вернуть? Название: Re: Демон на Qt - реально? Отправлено: BRE от Февраль 05, 2010, 21:38 вот и думаю... возможно ли не завершить и управление вернуть? Возможно.Гугл знает все, примеров масса. Поищи, почитай про демонизацию процессов + man daemon Есть готовое решение, называется QtService. Хотя, лично я не понимаю таких зависимостей (как Qt) у демонов. ;) Название: Re: Демон на Qt - реально? Отправлено: Alex Custov от Февраль 05, 2010, 23:55 Код
Код
man fork Название: Re: Демон на Qt - реально? Отправлено: BRE от Февраль 06, 2010, 09:15 man fork Для чего самому делать fork, если есть функция daemon, которая по-мимо отделения от родителя, делает другие необходимые операции для демонизации?Название: Re: Демон на Qt - реально? Отправлено: Zmeishe от Февраль 06, 2010, 09:24 Цитата: BRE Для чего самому делать fork, если есть функция daemon Полностью согласен. Давно всё изобретено и на этом форуме писАлось.Код: #include <QtCore/QCoreApplication> Название: Re: Демон на Qt - реально? Отправлено: Rcus от Февраль 06, 2010, 09:38 man fork Для чего самому делать fork, если есть функция daemon, которая по-мимо отделения от родителя, делает другие необходимые операции для демонизации?Код И судя по манам fork() это POSIXЪ, а daemon() - изобретение BSD Название: Re: Демон на Qt - реально? Отправлено: BRE от Февраль 06, 2010, 09:58 Ну так fork != daemon.
Если предположить, что где-то не будет daemon, можно реализовать свою функцию daemon (с необходимым функционалом) используя только POSIX-функции. И при конфигурации проекта выбирать что использовать. Название: Re: Демон на Qt - реально? Отправлено: nixman05 от Февраль 06, 2010, 11:54 вот и думаю... возможно ли не завершить и управление вернуть? Возможно.Гугл знает все, примеров масса. Поищи, почитай про демонизацию процессов + man daemon Есть готовое решение, называется QtService. Хотя, лично я не понимаю таких зависимостей (как Qt) у демонов. ;) Если необходимо только на Linux/BSD то можно использовать fork/daemon, а если необходима работа еще и под масдаем то лучше использовать QtService т.к. кроссплатформенно. Название: Re: Демон на Qt - реально? Отправлено: kuzulis от Февраль 07, 2010, 21:21 А не проще ли запускать приложение в *.nix - ах через скрипты? т.е. так как сделано в /etc/rc.d .. тем более проще всего запустить типо так:
Цитировать # & myapp (или & в конце.. не помню) :)Про винду - там использовать виндовые апи и т.п. т.е зачем городить огород ненужного кода? Название: Re: Демон на Qt - реально? Отправлено: crossly от Февраль 07, 2010, 21:59 & всего лишь отсылает процесс в background .... и процесс будет завершен при закрытии родительского шела.... в первую очередь советовал бы ознакомится с самой ОС перед тем как начинать программировать под нее... это относится и к посту о запуске приложения...
Название: Re: Демон на Qt - реально? Отправлено: Авварон от Февраль 09, 2010, 12:02 в линупсах как я помню есть команды startproc и startdaemon к-ые и юзаются из скриптов в init.d
Название: Re: Демон на Qt - реально? Отправлено: crossly от Февраль 09, 2010, 12:47 это зависит от дистрибутива ... эти команды есть в SUSE.... но их нету к примеру в mandriva или debian/ubuntu...
Название: Re: Демон на Qt - реально? Отправлено: panAlexey от Февраль 09, 2010, 16:34 Демон на Qt - реально? Я бы для начала потренировался на чертях - их имплементация полегче О_о....Название: Re: Демон на Qt - реально? Отправлено: Prm от Февраль 10, 2010, 11:52 Все уже реализовано за нас ;)
http://qt.nokia.com/products/appdev/add-on-products/catalog/4/Utilities/qtservice/ |