-
Daemon et commande
Bonjour a tous,
Je cherche a faire un daemon sous unix en C++ (un serveur TCP en fait)
Le daemon fonctionne très bien seulement je voudrais pouvoir lui passer des paramètres.
./serveur start
./serveur reload
./serveur restart
./serveur stop
Je ne vois pas comment gérer cela sachant que le programme ne possède qu'une instance lockf.
Par exemple pour reload G une méthode public Reload() dans la classe Serveur... je peut récupérer une instance de ma classe grâce a GetInstance (Singleton).
Je vous remercie,
Cordialement,
NeoKript
-
telles que je vois les choses, du point de vue de l'utilisateur (root), les services sont démarrés/arrêtés depuis des scripts annexes qui gèrent le PID du programme...
S'il existe une manière de programmer ça "à l'intérieur" du programme, je prend...
-
Bonjour, je ne programme pas en C++ mais en C, donc je serai peut-être un peu à côté de la plaque, mais bon, j'essaye quand même :
Si je comprends bien il faut que quand tu exécute la commande serveur, (avec un paramètre ou pas), celle-ci vérifie si le serveur est déjà lancé, si ce n'est pas déjà le cas, il se lance, sinon, il passe une commande à l'instance du serveur déjà en exécution.
Je vois plusieurs solutions, dans un cas analogue, on avait fait en sorte que le serveur écoute sur un port prédéfini. Quand on lance la commande serveur, celle-ci vérifie si le port en question est ouvert et si c'est le cas, lui passe une commande par ce port.
Les autres solutions que je vois sont, à la place du port, un tube nommé, un segment de mémoire partagée, une RPC, enfin, tout ce qui peut servir à la communication inter-processus.
Je sais pas si je répond au problème posé ...