Bash : lancer 2 bash en boucle sur 2 consoles TTY

Résolu
marco -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

J'ouvre une console en tant que root (sous debian)

Dans un répertoire /home/moi, j'ai 2 scripts bash qui doivent tourner en root et en même temps.

Le script 1 contient une boucle infinie while.
Le script 2 doit détruire le script 1 et relancer le script 1
Le script 2 doit rester en boucle infinie.

Comment faire?
Je me demandais si il est possible de lancer à partir d'un login root les 2 scripts en même temps peut-être sous la forme de lancement sur plusieurs TTY, mais je ne sais pas comment faire.

Pouvez vous m'aider?
Merci à vous tous
A voir également:

5 réponses

mamiemando Messages postés 33777 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Tu peux lancer depuis un script principal d'autres scripts en utilisant l'opérateur &.
http://forum.mandriva.com/#p798166

Bonne chance
0
marco
 
Bonjour,

Si je comprends bien :
a. mon script 1 est en while true que je lance manuellement
b. mon script 2 est en boucle while qui possede un sleep de 10 minutes et qui kill mon script 1

Donc je fais un 3eme avec les lancements de :
./script1.sh & ./script2.sh

Est-ce cela?

Par contre, en lancant à la main script2 (qui kill le script1) je kill bien, mais le relancement ne se fait pas.

Aurais tu une idée?
Merci pour ton aide
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
il faut relancer script1 depuis script2 puisqu'il a été tué
0
marco
 
Bonjour,

merci mais cela ne fonctionne toujours pas

pff j'ai du mal, mais j'ai avancé:

J'ai reconsidéré cette fois la chose :

a. j'ai un script A qui est en while infini.

b. Ce script lance un autre script dans cette boucle
--> pas de probleme, sauf que parfois un des deux plante

Alors, j'ai développé un script 2 pour tuer le script A avec killall

Ce script 2 contient une autre boucle while infinie de 30 minutes qui killall les process et relance le script 1

Je vais voir si ca fonctionne

Si oui, ouf, mais j'aurai eu du mal, si entre temps tu as une autre ruse, je suis preneur.
PS Laissons tomber dans le cron car cela ne fonctionne pas, dommage
0
marco
 
rebonjour à vous deux,

Bon à priori avec le $ inséré dans le sh qui est appelé du script principal, cela a l'air de fonctionner.
J'ai ajouté un bip pour être certain que tout soit redemarré, et ca fonctionne.

Merci à vous deux pour le tuyau

A bientôt
Marco
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
on peut aussi faire:
dans script 1 tu sauves le PID : echo $$ > /tmp/pid
dans script 2 tu testes ou tues le PID qui est dans /tmp/pid
0

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

Posez votre question
mamiemando Messages postés 33777 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Bonne continuation :-)
0