Salut,
J'ai quelques difficultés à faire démarrer un apache via dollaru, et
j'aimerais bien comprendre pourquoi, bien que j'ai un contournement.
Dollaru donc exécute un ksh (le XXX.ksh, le script lancé par l'uproc),
qui exécute un ksh (le script qui porte le nom de l'uproc, lancé par
le chapeau), qui exécute un bash (le script de gestion d'apache, mode
le grand compte chez qui je suis), qui exécute un sh (apachectl). Il
s'agit donc de démarrer Apache, via une uproc dollaru et un
cheminement biscornu. Il se trouve qu'apache ne démarre pas bien via
dollaru, alors qu'en lançant le script depuis un terminal, cela se
passe bien. Par "ne démarre pas bien, ce qu'on constate, c'est que
seul le port 443 est ouvert, alors que le port 80 devrait l'être
aussi.
Bon, je ne m'occupe pas du chapeau, je vais commencer au script qui
porte le nom de l'uproc. Première constatation, si je remplace ksh par
csh, apache démarre bien via dollaru (sh, bash ont le même
comportement que ksh). Deuxième constatation, si je rajoute "<
/dev/zero" dans le script lors de l'appel au script de gestion
d'Apache, ca fonctionne bien aussi avec ksh.
Donc, je me suis orienté vers 4 possibilités :
- l'environnement, mais cela n'a rien donné
- le mode de lancement du shell (restricted, non-interactif) => $-
donne hx à la main comme via dollaru
- les descripteurs de fichiers ouverts, "test -t 0 && echo "0 ouvert"
|| echo "0 ferme"" (aussi pour 1 et 2) renvoie "ferme" pour ksh et csh
via dollaru
- les paramètres du terminal => stty -a renvoie "stty: standard input:
Bad file descriptor" pour ksh et "stty: standard input: Inappropriate
ioctl for device" pour csh (tiens, enfin une différence !)
Donc, 2 questions me taraudent en fait : quelle est la différence
entre ksh et csh, et pourquoi apache est le seul logiciel (à ma
connaissance) qui pose ce problème au lancement par dollaru ?
Voilà, si quelqu'un a une explication pour moi, je lui en serais
reconnaissant :-)
Merci et bonne journée,
Jérémy