Aller au contenu

Script SH pour lancer en parallèle plusieurs commandes


captain_torche

Sujets conseillés

Je vais avoir besoin de lancer plusieurs scripts PHP en parallèle, je voulais savoir si je pouvais faire un script sh pour me simplifier la tâche



Dans le principe, je dois lancer plusieurs scripts PHP qui se présentent de la manière suivante :


script.php 1 20


script.php 21 40


script.php 41 60



etc, pour environ 300 occurrences



Il va falloir que j'utilise screen pour éviter de perdre l'exécution, mais je me demandais :


- dois-je simplement faire un screen et y lancer un script sh qui me les lance tous, ou


- puis-je faire un script sh qui m'ouvre un screen par script à exécuter ? Et, dans ce dernier cas, comment faire ?


Lien vers le commentaire
Partager sur d’autres sites

Un script comme ceci si tu as besoin de 2 arguments comme dans ton exemple ? Edite la limite de 300 ou remplace-la par une variable..



#!/bin/bash
low=1
high=20
while [ $low -lt 300 ]
do
screen ton_script.php $low $high &
low=$((low+20))
high=$((high+20))
done

Lien vers le commentaire
Partager sur d’autres sites

Pour lancer une flopée de scripts en parallèle, tu peux remplacer la ligne "screen..." par une ligne comme ceci :



nohup ton_script.php $low $high &

Si tu as des messages, ils seront tous répertoriés dans nohup.out ... pour tous tes scripts.


Ca risque d'être donc peu lisible.

Lien vers le commentaire
Partager sur d’autres sites

Disons que c'est une manière différente de lancer des process en tâche de fond wink.gif



Perso, je ne suis pas un fanatique du "screen", même si je reconnais qu'il est très puissant. Trop peut-être pour mes besoins.


Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...