L'exécution de plusieurs processus d'arrière-plan par le biais de scripts shell

Je suis nouveau sur la création de scripts shell, donc pardon pour mon manque de connaissances.

Mon objectif est de courir deux serveurs server1 et server2 en arrière-plan, puis exécuter un script python scriptRun par le biais de mon script shell.

Etape 1:

  • Lancement de server1 (le faire fonctionner en arrière-plan)
  • Quelques commandes sur ce serveur (qui sont des commandes personnalisées)

Etape 2:

  • Lancement server2

Etape 3:

  • Exécuter mon script python et afficher sa sortie sur le terminal après server1 et server2 sont lancés

Mon script shell ressemble à ceci:

echo "Launching server1"
java StartServer1.jar && (serverCommand1 && serverCommand2) &

echo "Launching server2"
java StartServer2.jar &&

echo "Running script"
python scriptRun.py

Ce script ne fonctionne pas du tout.
J'ai essayé de supprimer les serverCommand1 et serverCommand2, cela fonctionne, mais le script python n'attend pas pour serveur2 pour lancer.

Également le terminal affiche les sorties de server1 et server2, et non pas la sortie du script python.

Ma question est comment puis-je exécuter plusieurs processus en arrière-plan et exécuter un autre processus qui dépend de la précédente processus?

OriginalL'auteur user2354302 | 2013-12-04