[Qt] créer un démon
hautparleur
Messages postés
213
Date d'inscription
Statut
Membre
Dernière intervention
-
sambia39 Messages postés 610 Date d'inscription Statut Membre Dernière intervention -
sambia39 Messages postés 610 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je fais un programme qui se connecte à un serveur et qui attend de recevoir un message du serveur pour faire une action (comme afficher une boite de dialogue).
Mais ce programme doit tourner en tâche de fond donc pas de fenêtre. Mais quand je ne met pas le
dans main.cpp dès que je ferme la boite de dialogue le programme se ferme aussi.
Il faut utiliser une certaine classe ou changer des paramètres dans le projet?
Pour l'instant ma classe est héritée de QWidget.
Et j'ai Qt 4.8.3.
Merci d'avance!
je fais un programme qui se connecte à un serveur et qui attend de recevoir un message du serveur pour faire une action (comme afficher une boite de dialogue).
Mais ce programme doit tourner en tâche de fond donc pas de fenêtre. Mais quand je ne met pas le
MaClasse w;
w.show();
dans main.cpp dès que je ferme la boite de dialogue le programme se ferme aussi.
Il faut utiliser une certaine classe ou changer des paramètres dans le projet?
Pour l'instant ma classe est héritée de QWidget.
Et j'ai Qt 4.8.3.
Merci d'avance!
A voir également:
- [Qt] créer un démon
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
- Créer un compte instagram sur google - Guide
3 réponses
Bonjour
En informatique il faut avant tout savoir ce que l'on veut ou souhaite faire et ne pas confondre les choses qui sont évidentes et bien distinctes.
Un démon est un service, un processus qui tourne en arrière-plan et en aucun cas un programme avec une interface graphique. Et pour créer un démon en utilise pas Qt parce que c'est chouette mais les outils système de ton système d'exploitation en plus claire, en ne parle plus d'informatique de manière générale, mais de l'informatique système ( programmation système ) un autre aspect de l'informatique un peu plus poussé avec des concepts bien définis et des standards à respecté et on ne va pas rentrer à l'aveugle dans ce secteur sans maîtriser les bases de la programmation système.
Ton client doit être écrit avec le SDK de Qt mais pas le service arrière-plans car celui-ci dépend du système que tu utilise et comme tu parles de démon ( en l'occurrence la fonction demonize ou demon, service ) sache que celui-ci existe pas en langage C/C++ ni dans certaines bibliothèques standard voire même de ton système d'exploitation donc c'est à toi de le faire ( de A à Z ) et de façon logique et portable.
Pour conclure, maîtrise le langage utilisé pour la conception des outils système ( le langage C car, le C++ est orienté objet donc plus axée pour des logiciels que des programmes système) et les notions élémentaire en programmations système comme les Thread , Sémaphore , Mutex , Signal mais également la norme POSIX et revient nous posté un code source de ce que tu as fait ou du moins là où tu t'en sors pas et là en pourras t'aider, mais en aucun cas sollicité notre aide ( mon aide ) sur un sujet poussé que tu ne connaît pas encore ou ne maîtrise pas encore.
à bientôt
En informatique il faut avant tout savoir ce que l'on veut ou souhaite faire et ne pas confondre les choses qui sont évidentes et bien distinctes.
Un démon est un service, un processus qui tourne en arrière-plan et en aucun cas un programme avec une interface graphique. Et pour créer un démon en utilise pas Qt parce que c'est chouette mais les outils système de ton système d'exploitation en plus claire, en ne parle plus d'informatique de manière générale, mais de l'informatique système ( programmation système ) un autre aspect de l'informatique un peu plus poussé avec des concepts bien définis et des standards à respecté et on ne va pas rentrer à l'aveugle dans ce secteur sans maîtriser les bases de la programmation système.
Ton client doit être écrit avec le SDK de Qt mais pas le service arrière-plans car celui-ci dépend du système que tu utilise et comme tu parles de démon ( en l'occurrence la fonction demonize ou demon, service ) sache que celui-ci existe pas en langage C/C++ ni dans certaines bibliothèques standard voire même de ton système d'exploitation donc c'est à toi de le faire ( de A à Z ) et de façon logique et portable.
Pour conclure, maîtrise le langage utilisé pour la conception des outils système ( le langage C car, le C++ est orienté objet donc plus axée pour des logiciels que des programmes système) et les notions élémentaire en programmations système comme les Thread , Sémaphore , Mutex , Signal mais également la norme POSIX et revient nous posté un code source de ce que tu as fait ou du moins là où tu t'en sors pas et là en pourras t'aider, mais en aucun cas sollicité notre aide ( mon aide ) sur un sujet poussé que tu ne connaît pas encore ou ne maîtrise pas encore.
à bientôt
Non. Ce que je veux, c'est simplement pouvoir enlever l'interface graphique de mon programme.
J'utilise Qt parce que c'est plus pratique pour communiquer avec le serveur.
J'utilise Qt parce que c'est plus pratique pour communiquer avec le serveur.
Visiblement tu n'as pas compris.
Que tu supprime l'interface graphique ou non il te faudrait tout de même que ton démon ait une indépendance directe vis-à-vis du contrôle de l'utilisateur en clair, c'est le système d'exploitation qui le gère (le système d'exploitation démarré les services essentiels dont il a besoin ou pour les application annexe / ton bidule pour qu'il fonctionne) ensuite le service en question doit lancer les différent dépendance qu'il a besoin (ici ton serveur machin) toujours en tache de fond sans qu'il ait besoin de ton intervention c'est à ça que sert les services ou démon.
Donc il faut manipuler les processus légers ( les Thread etc..) non pas par toi mais ton service qui dépend lui à sont tour de ton système d'exploitation sans compter qu'il faut gérer également les zombies mais aussi mettre en place de verrou pour ton service ( sécuriser l'accès au service). bref il y'a pas mal de chose à prendre en compte (bref).
à bientôt
Que tu supprime l'interface graphique ou non il te faudrait tout de même que ton démon ait une indépendance directe vis-à-vis du contrôle de l'utilisateur en clair, c'est le système d'exploitation qui le gère (le système d'exploitation démarré les services essentiels dont il a besoin ou pour les application annexe / ton bidule pour qu'il fonctionne) ensuite le service en question doit lancer les différent dépendance qu'il a besoin (ici ton serveur machin) toujours en tache de fond sans qu'il ait besoin de ton intervention c'est à ça que sert les services ou démon.
Donc il faut manipuler les processus légers ( les Thread etc..) non pas par toi mais ton service qui dépend lui à sont tour de ton système d'exploitation sans compter qu'il faut gérer également les zombies mais aussi mettre en place de verrou pour ton service ( sécuriser l'accès au service). bref il y'a pas mal de chose à prendre en compte (bref).
à bientôt