Bash : lancer 2 bash en boucle sur 2 consoles TTY [Résolu/Fermé]

Signaler
-
Messages postés
18225
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
28 septembre 2020
-
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

Messages postés
29277
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
3 septembre 2020
6 932
Tu peux lancer depuis un script principal d'autres scripts en utilisant l'opérateur &.
http://forum.mandriva.com/fr/viewtopic.php?f=136&t=127607&p=798166&hilit=sleepn#p798166

Bonne chance
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
Messages postés
18225
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
28 septembre 2020
5 013
hello
il faut relancer script1 depuis script2 puisqu'il a été tué
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
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
Messages postés
18225
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
28 septembre 2020
5 013
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
Messages postés
29277
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
3 septembre 2020
6 932
Bonne continuation :-)