Bonjour à tous,
Débutante en unix, je dois modifier un script shell qui lance differents programmes permettant des realiser des calculs. Chaque résultat de calcul est ecrit dans un fichier, qui est utilisé pour le calcul suivant.
Le probleme actuellement, c'est que des fois le fichier n'est pas totalement ecrit avant que l'autre calcul soit declanché (le script utilise des sleep), ce qui declenche donc une erreur, et tous les calculs continuent à s'enchainer malgré tout.
En cherchant, j'ai trouvé un truc "waitpid" qui me parait interessant pour ce probleme, j'ai trouvé les pages de manuel, etc. Mais sur un forum j'ai lu ça "Tu ne peux pas utiliser fork et waitpid dans un script sh. Ces fonctions s'utilisent dans un programme compilé, la plupart du temps en C, ou alors dans un langage de script plus puissant comme le python ou le perl.... Bref dans un langage qui a accés aux fonctions de base du système. "
Confirmez vous le fait qu'on ne puisse pas utiliser "waitpid" dans un shell ? si oui, que puis-je utiliser pour etre sure que mes processus soient bien finis avant d'en demarrer un autre ?
Partager