78 votes

Mon fichier pid doit-il être situé dans / var / run?

Je demande dans les deux contextes: techniquement et stylistiquement.

Mon application / démon peut-il conserver un fichier pid dans / opt / my_app / run /?

Est-ce très mauvais de le faire?

Mon besoin est le suivant: mon démon s'exécute sous un utilisateur spécifique et l'implémenteur doit mkdir un nouveau répertoire dans / var / run, chown et chgrp pour que mon démon s'exécute. Il semble plus facile de garder le pidfile en local (au démon).

108voto

Gilles Points 37537

Je ne mettrais pas un pidfile en vertu de l'installation d'une application répertoire /opt/my_app/whatever. Ce répertoire peut être monté en lecture seule, pourrait être partagée entre les machines, pourrait être regardé par un démon qui traite de tout changement il y a comme une rupture possible tentative de...

L'emplacement normal pour pidfiles est - /var/run. La plupart des unix va nettoyer ce répertoire de démarrage; sous Ubuntu ceci est réalisé par l' /var/run d'un système de fichiers en mémoire (tmpfs).

Si vous démarrez votre démon à partir d'un script qui s'exécute en tant que root, il faut la créer un sous-répertoire /var/run/gmooredaemon et chown pour le démon-utilisateur en cours d'exécution avant d' suing pour l'utilisateur et le lancement du démon. Sinon, choisissez un emplacement sous /tmp ou /var/tmp, mais cela introduit une complexité supplémentaire parce que le pidfile du nom ne peut pas être déterminée de manière unique si elle est dans un répertoire accessible à tous.

Dans tous les cas, il est facile (option de ligne de commande, plus peut-être au moment de la compilation option) pour le distributeur ou l'administrateur de modifier le pidfile emplacement.

9voto

Paulo Scardine Points 17518

/opt est utilisé pour installer 'autonome' applications, donc rien de mal ici. À l'aide de /opt/my_app/etc/ pour des fichiers de configuration, /opt/my_app/log/ pour les journaux et ainsi de suite - pratique courante pour ce type d'application.

Cette distance vous pouvez distribuer vos applications en un fichier TGZ fichier au lieu de maintenir un package pour chaque gestionnaire de paquets (au moins DEB depuis que vous avez marqués ubuntu). Je le recommande pour les applications développées en interne ou à des situations où vous avez beaucoup de contrôle sur l'environnement. Le raisonnement est qu'il n'a pas de sens si le coffre-fort coûte plus cher que ce que vous mettez à l'intérieur (le travail nécessaire pour le pack de l'application ne doit pas faire oublier l'effort requis pour écrire l'application).

9voto

Costi Ciudatu Points 13020

L'emplacement du fichier pid devrait être configurable. / var / run est standard pour les fichiers pid, tout comme / var / log est standard pour les journaux. Mais votre démon devrait vous autoriser à écraser ce paramètre dans un fichier de configuration.

6voto

pestrella Points 1982

Une autre convention, si vous n'exécutez pas le script en tant que root, consiste à placer le fichier pid dans ~/.my_app/my_app.pid . C'est plus simple de cette façon tout en restant sécurisé car le répertoire personnel n'est pas accessible en écriture.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X