Bonjour
Quand on lance un script via cron, existe-t-il un timeout particulier qui arrête l'exécution du script? Je m'explique.
j'ai un script sh qui lance successivement 2 programmes Java. Le premier peut mettre + de 4h de traitements. (je sais c'est beaucoup mais je peux pas faire autrement). le script se présente comme ça
Quand je le lance manuellement, dans les même conditions que cron (même utilisateur par exemple) tout se passe bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 cd /home/monrepertoire echo "[SH] Re initialisation de la console">>console rm -Rf console #lancement1 echo "[SH] lancement1">>console java -Xmx1024M -jar execution1.jar>>console #celui qui dure plus de 4h #lancement2 echo "[SH] Lancement2">>console java -jar -Xmx1024M -jar lancement2.jar>>console #celui la dure quelques secondes echo "[SH]END OF SCRIPT reportgenerator.sh">>console
Cron lance le script à la bonne heure, execute bien le premier programme mais ne lance jamais le second (je ne vois même pas la "[SH] lancement2" dans le fichier console, ni celui d'après).
Alors je me dis que :
-soit au bout d'un certains temps cron arrête lui même le script (mais pas l'execution java) pensant que le script ne reponds plus
-soit il n'exécute pas les taches séquentiellement (un peu comme si j'avais mis un & à la fin de la commande) que mon programme2 soit exécuté bien avant la fin du programme. Mais dans ce cas pourquoi je ne vois pas les traces? et pourquoi il ne me fait pas la même chose quand je le lance moi même dans le shell?
Bref je penche plus pour la première hypothèse et si c'est ça comment résoudre ce problème?
Merci d'avance
Partager