Bash : lancer 2 bash en boucle sur 2 consoles TTY

Résolu/Fermé
marco - 11 avril 2013 à 00:39
dubcek
Messages postés
18539
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
19 septembre 2022
- 12 avril 2013 à 11:08
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

5 réponses

mamiemando
Messages postés
31435
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 septembre 2022
7 421
11 avril 2013 à 10:42
Tu peux lancer depuis un script principal d'autres scripts en utilisant l'opérateur &.
http://forum.mandriva.com/#p798166

Bonne chance
0
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
18539
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
19 septembre 2022
5 557
11 avril 2013 à 14:38
hello
il faut relancer script1 depuis script2 puisqu'il a été tué
0
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
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
18539
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
19 septembre 2022
5 557
12 avril 2013 à 11:08
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
31435
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 septembre 2022
7 421
11 avril 2013 à 21:32
Bonne continuation :-)
0