Salut,
j'ai un mal torride à faire se lancer un script perl depuis un script
shell de /etc/init.d ... (sur une vieille Red Hat -noyau 2.4- que je pense
étrangère au souci)
Si j'execute à la main /etc/init.d/script.sh start , ça roule : le script
perl est bien lancé
(il est lancé avec la forme
su - pouet -c "cd /path && ./script.pl" &
)
Si je remplace le contenu du script shell (lanceur) par un bête date >>
/tmp/date_boot, ça roule également... (donc ce n'est pas un problème
/etc/init.d au sens "pur" à mon avis)
Par contre, le script perl, lui, ne veut pas s'exécuter (au démarrage)
Il se pourrait que cela vienne "d'un problème de lancement interactif de
perl", on m'a conseillé de voir en lançant avec
cd /path && perl -pi script.pl
Mais non seulement ça ne change pas grand chose mais en plus, je n'arrive
pas à convenablement creuser cette piste dans mes recherches.
Si une bonne ame a déjà rencontré ce genre de pb, je suis prêt à
encourager son partage de connaissance avec une bière sur Toulouse ^^
Merci d'avance
--
infos "au cas où" :
perl v5.8.0
xinetd-2.3.12-2.3E
Linux woerthgate.lescaissesdeletatsontvides.fr 2.4.21-4.ELsmp #1 SMP Fri
Oct 3 17:52:56 EDT 2003 i686 i686 i386 GNU/Linux
# A la louche !
Posté par ze_lionix (site web personnel) . Évalué à 3.
En vrac ensuite :
- sheebang correct dans le script perl ? script bien +x ?
- chkconfig pour les liens dans le rcX.d a bien fait son bouleau ? Vérifier aussi qu'il se lance avec les derniers services...
- ajouter un log et récupération des erreurs (> monlog 2>&1)
NB : pour que le stop marche il ne faudra pas oublier de rajouter un touch /var/lock/subsys/mon_service !
Fuse : j'en Use et Abuse !
[^] # Re: A la louche !
Posté par tuXico . Évalué à 1.
+x ok
chkconfig ok
j'ai pas tenté de faire un log en partant du principe qu'à la mano, ça marchait et que du coup j'imagine qu'il s'agit d'un problème d'interactivité... (sauf que je ne trouve ni solution ni aide sur le web -recherche, appels au secour, achat de poulets et de vierges, ...)
[^] # Re: A la louche !
Posté par PLuG . Évalué à 1.
[^] # Re: A la louche !
Posté par ze_lionix (site web personnel) . Évalué à 2.
Ex : le grand classique du script qui fonctionne à la main , mais qui ne marche pas en cron car le shell et ses variables sont différentes... :o)
Ah vilain .profile quand tu nous joues des tours...
Fuse : j'en Use et Abuse !
# Une idée comme ça
Posté par Croconux . Évalué à 2.
Quand Debian est passé à dash, les mainteneurs ont constaté que plusieurs scripts sensé être du shell de base (sh) contenaient des "bashisms".
Autre piste, vérifier ce que tu as dans ton environnement (path, alias) qui peut être différent pour root.
Sinon, comme d'autres l'ont déjà proposé, passer par des chemins absolus et éviter les "cd machin && wtf".
# strace
Posté par Krunch (site web personnel) . Évalué à 2.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# Pa{rtition,th}
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 2.
Met le path complet vers le binaire perl. S'il est dans /usr/local/bin et que ton path ne contient que /usr/bin, tu vas chercher longtemps…
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.