#1 Le 05/08/2007, à 17:29
- dadaaaaaaa
[RESOLU] Tester la présence d'un démon pour lancer une commande
Bonjour,
j'écris un petit script sh qui lance des commandes pour donner des instructions à un démon.
Seulement, j'aimerais que les commandes ne s'éxécutent que lorsque le démon est lancé. (il ne fonctionne pas tout le temps et n'est pas lancé périodiquement)
Je pensais faire un test (pour savoir si le démon est lancé) avec un if mais je ne sait pas quelle commande utiliser pour tester la présence du démon...
Si quelqu'un pouvait m'aider...
merci beaucoup
@+
Dada
Dernière modification par dadaaaaaaa (Le 06/08/2007, à 01:53)
Le cinéma, c'est l'écriture moderne dont l'encre est la lumière.
[Jean Cocteau]
Hors ligne
#2 Le 05/08/2007, à 19:27
- JoelS
Re : [RESOLU] Tester la présence d'un démon pour lancer une commande
Je suppose que ton démon écoutes sur un port quelconque, dont tu connais le numéro.
Tu ne précises pas si tu as la 'main' sur le code du démon. Je suppose que oui.
Soit ce port est défini 'en dur' et alors ton script envoie ses commandes sur ce port sans se soucier de rien. Dans ce cas, il plus 'simple' est d'ajouter une commande 'TEST' à ton protocole qui renvoie juste 'OK' ou un équivalent, et de coder l'envoi de cette commande 'TEST' avec un délai d'attente faible.
Soit ce port est trouvé au démarrage du démon, et le plus simple est d'écrire le numéro du port dans un fichier lisible par ton script et de coder ton démon pour qu'en cas de plantage/arrêt il vire le fichier. Ton test consiste à lire le numéro du port dans le fichier.
Hors ligne
#3 Le 06/08/2007, à 01:52
- dadaaaaaaa
Re : [RESOLU] Tester la présence d'un démon pour lancer une commande
Salut,
Merci pour ta réponse.
En fait mon démon écrit un fichier à son lancement et l'enlève lorsqu'il est coupé. Donc je fais une commande test pour tester la présence de ce fichier et donc de la présence du démon.
C'est super simple et ca marche nikel.
voila
@+
Merci
Dada
Le cinéma, c'est l'écriture moderne dont l'encre est la lumière.
[Jean Cocteau]
Hors ligne