je déploie un petit service à un système UNIX (AIX). Je veux vérifier s'il n'y a pas d'instance active de ce service en cours d'exécution lors du démarrage. Quelle est la fiabilité de l'implémentation de ce contrôle?Verrouillage d'un fichier pour vérifier une exécution unique d'un service. Quelle est la fiabilité?
- Essayez d'acquérir un verrou sur un fichier (w/
FileChannel
) - Si réussit, garder verrouillage et continuer l'exécution
- En cas d'échec, de sortie et refuser d'exécuter le corps principal
Je connais un logiciel comme le wrapper Tanuki, mais je recherche une solution plus simple (peut-être pas portable).
EDIT: En ce qui concerne PIDFILE (s): Je veux éviter de les utiliser si possible, car je ne dispose pas de droits d'administrateur sur la machine, ni les connaissances dans la programmation shell AIX.
@ninesided tout autre service ou application sur ce système utilise également le même port et est en cours d'exécution lorsque l'OP tente d'exécuter son service? –
Si vous avez d'autres services qui se lient aux ports en cours d'exécution sur votre serveur J'espère que vous savez ce qu'ils sont et éviter les numéros de port. Certains services se lient au port libre aléatoire, mais ils choisissent presque toujours ce numéro dans une plage définie. Je doute fort que vous n'ayez plus de ports dans la plupart des situations du monde réel. – ninesided
J'ai fini de l'utiliser. Belle approche en effet! –