Script stop

Résolu
yann747 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   -  
yann747 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je lance script dont l'exécution avoisine les 4H00.
Depuis un récent changement de machine,
il s'arrête de manière aléatoire aux environs de 3H30.

Cela n'est à priori pas lié au script lui-même.
Je présume cela car il marchait bien sur l'ancienne machine et aussi car l'arrêt se produit aussi bien au moment de l'exécution d'une commande "convert" , "tar" , "cp" que "cat"

Rien ne de spécial ne s'affiche dans mon fichier log vers lequel je redirige la sortie standard et les erreurs.

Existe-t-il un paramètre du genre "timeout" ou une protection de "surchauffe" (tous les coeurs à 100% pendant l'execution).
Merci d'avance de votre aide.

Yann.
A voir également:

10 réponses

Gemini
 
Il se peut que ton OS dise "Oula qu'est-ce qu'il fait lui il est un peu gourmand, boum je te tue !". Je sais que ça m'arrivait lorsque que je faisais du raytracing (surcharge de mémoire car je ne libérais pas celle-ci correctement).
Mais pour un script je ne peux pas mieux t'éclairer.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
placer set -x au début du script pour avoir les détails de l'exécution
0
yann747 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   2
 
Merci pour vos réponses, je fais un test avec set -x et je viens compléter le sujet.

Précision :
Il n'y a qu'un script parent, mais lui même en lance quelques dizaines avec "&" en fin de ligne.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
capturer aussi les messages et erreurs des scripts lancés avec &
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yann747 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   2
 
Bonjour,
après quelques tests et ne détectant pas d'erreurs liées au script lui-même, j'ai limité le nombre de process en parallèle en passant de 32 à 16 : résultat ça passe à 90% , si je tombe à 8 process à priori plus de problèmes. C'est tout de même étonnant pour une machine plus récente, plus performante...
Je vais peut être tenter une reinstall... :-/
0
prefix
 
je pense aussi que le passage de l'ancien systeme vers le nouveau a ete un peu pris a la legere...et l'instance de la nouvelle installation n'a plus été,je dirais,"probante"...la routine de l'ancien systeme a engendrer une "mise en forme" pour un bon fonctionnement et lors du changement du systeme cette "mise en forme" a été brisé mais le systeme entier a voulu continuer cette "routine" et malheureusement il ne peut plus et donc c'est la cata

il va enchainer des instructions ,tenter la chose constemment ,et finalement va tomber en rad....
il y a aujourd'hui le fameux test "md5" ... qui est la pour eviter ce genre de probleme

@edit:...ATTENTION!! "gemini" n'est pas "prefix"...^^
0
yann747 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   2
 
Nouvelle reinstall, toujours aussi peu "probante",
j'ai tout de même reussi à faire du "rafistolage" en insérant

sleep 10


entre certaines commandes. Je sais c'est moche, mais même si je rajoute quelques minutes au script, au final j'ai quand même un gain de temps.
Désolé pour cette réponse peu rationnelle.
Merci pour votre aide, je ne manquerait pas de venir donner une meilleure réponse si toutefois j'en trouve une.
0
yann747 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   2
 
Je marque le sujet comme résolu, même si c'est discutable.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
et en plaçant un wait à la fin pour attendre que chaque script termine avant de terminer le principal ?
0
yann747 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   2
 
Bonjour,
je reviens sur le sujet.
@dubcek, j'ai essayé avec "wait" mais ça ne règle pas le problème.
J'ai sans doute oublié de préciser un "détail" :
Les scripts sont rédigés en csh. Est-ce-que le fait de les réécrire en bash réglerait le problème?
Vous allez me dire, à juste titre, "essaye tu verras..." mais j'ai vraiment beaucoup de lignes à reprendre. Je le ferai si c'est une bonne piste. A ce sujet, y-a-t-il de grosses différences entre bash et csh sur la gestion des processus?
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
depuis bash, on peut exécuter en arrière-plan, du shell (csh, ksh, sh, etc), du perl, du tcl/tk, etc ou du binaire, donc synchroniser ne devrait pas poser de problème.
est-ce que le csh contient du code de manip. des tâches ? bg par ex.
0
yann747 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   2
 
Bonjour,

j'ai réécris presque tous mes scripts en bash, sans les modifier, j'ai juste fait une simple "traduction" csh=>bash et tout marche à merveille! J'ai pu retirer tous mes "spleep" et "wait" que j'avais inséré à outrance dans mon code.
Avec csh je n'ai pas réussi à lancer plus de 5 process en parallèle avec le "&" en fin de ligne sans que ça plante, avec bash j'en lance 32 sans aucun soucis, ça fuse!

Après avoir fait quelques recherches et lu plusieurs articles, il me semblait que les différences entre bash et csh étaient principalement syntaxiques, plus quelques spécificités genre auto-completion et autres... Apparemment c'est plus profond que ça, ou c'est moi qui ne sais pas bien écrire en csh. Probablement les deux.
Merci en tout cas à tous pour votre aide.

En résumé j'ai mon script maître en csh, il lance des scripts bash, qui eux-même lancent des commandes (conversion d'images et autres en parallèle avec "&"), ou d'autres sous-scripts bash.
0