Pourquoi utiliser bash -c Dans un superviseur au lieu d'un appel direct?
Je commence à utiliser
Gérer les services sur mon serveur. Je ne suis pas un utilisateur professionnel Linux, Mais je peux faire face à cela assez bien et le gérer.
Juste de la curiosité, j'ai remarqué que la plupart des équipes dans supervisord Ressemble à ca:
J'ai lu un homme Basha et sache que
Vous devez utiliser pour insérer les variables transmises après la ligne.
Alors, quel est le point d'utilisation
dans un superviseur (ou à tout autre endroit) au lieu d'un appel direct (Comme dans l'exemple ci-dessous), Considérant qu'aucune variables n'a été transférée / Utilisé?
Remercier!
supervisord
Gérer les services sur mon serveur. Je ne suis pas un utilisateur professionnel Linux, Mais je peux faire face à cela assez bien et le gérer.
Juste de la curiosité, j'ai remarqué que la plupart des équipes dans supervisord Ressemble à ca:
[program:install]
command=bash -c "/src/etc/install.sh"
J'ai lu un homme Basha et sache que
-c
Vous devez utiliser pour insérer les variables transmises après la ligne.
Alors, quel est le point d'utilisation
bash -c
dans un superviseur (ou à tout autre endroit) au lieu d'un appel direct (Comme dans l'exemple ci-dessous), Considérant qu'aucune variables n'a été transférée / Utilisé?
[program:install]
command=/src/etc/install.sh
Remercier!
Aucun résultat connexe trouvé
Invité:
Pour répondre aux questions, connectez-vous ou registre
2 réponses
Hannah
Confirmation de:
,
), Listes de commandes (
,
,
), Redirection (
,
,
,) Non implémenté par un superviseur, qui ne casse que l'équipe à un éventail de lignes d'arguments.
DANS
Il ne peut s'agir que d'une aide pour un utilisateur novice qui peut avoir une tentation d'utiliser de telles fonctions dans l'équipe. Par exemple, il évite de surprendre que
Les sorties
Au lieu d'écrire
à
.
Il a peu en commun avec des variables. Tout argument supplémentaire pour bash Sera disponible uniquement comme arguments du script.
,
etc. Dans l'équipe, mais cette fonction est rarement utilisée. par exemple
Les sorties
.
Christine
Confirmation de:
http://supervisord.org/subproc ... nment
:
Aucun shell n'est effectué par un superviseur lorsqu'il lance le sous-processus, de sorte que les variables d'environnement tels que USER, PATH, HOME, SHELL, LOGNAME Les deux, etc., ne changent pas par rapport à leurs valeurs par défaut ou de réaffectées autrement. Ceci est particulièrement important à noter lorsque vous exécutez un programme d'un superviseur exécutant au nom de root, Avec section user = en configuration.
Pour contourner ce problème
Peut être utilisé.