Lancer un script bash qui tourne en boucle au demarrage

Bonjour à tous,
Je cherche à lancer un script bash au demarrage.
Le script en question s’appelle “scan.sh” et est placé dans /bin. C’est une boucle du type :

#!/bin/sh cd /var/www while true; do ./script.php; sleep 1; done
Pour le lancement au démarrage, j’ai utilisé le fichier fournit par debian (etch): /etc/init.d/skeleton
j’en ai fait une copie que j’ai appelé “scan”.
Dans celle-ci, je n’ai modifié que le nom et le chemin du script deamon :

... NAME=scan.sh DAEMON=/bin/$NAME ...
ensuite, j’ai utilisé la commande suivante :

update-rc.d scan defaults 99

dès lors, si je fais :

le programme se lance mais la boucle s’execute dans la fenêtre et je n’ai plus la main. Par ailleurs, si j’ouvre une seconde console et que je tape :

alors le processus n’est pas stoppé (la boucle continue dans la première console). j’ai fait un ps -aux | grep scan et je constate que le script scan.sh tourne toujours et que la commande /etc/init.d/scan start est également présente dans la liste des processus (comme si elle était bloquée par la boucle)…
quelqu’un aurait-il une idée pour faire avancer mon problème??

hello,

A première vue je dirai aptitude install screen:
ensuite si ma mémoire est bonne : screen -dm tonfichier.sh

2 point il faut donc faire un 2 eme fichier qui va mémoriser le pid du process du screen a partire du start, pour pouvoir le stoper…
car comme tu rend pas la main aux système il te faudra faire un kill (man kill) et (man screen)

Mai cette manière de faire n’est pas très propre je te suggère d’expliquer un peux mieux le problème.
car il y a aussi (man anacron) crin qui permet de lancer un scan régulièrement, il y a meme autres chose pour descendre en dessou de la minute, mai je me souviens plus du nom

alors si c’est ton script qui tourne en boucle il suffit de le lancer une fois au démarrage.

Dans ce cas la tu appelle ton script dans /etc/rc.local

Dans se fichier tu peux mettre tout ce que tu veux exécuter au démarrage.

ok super :smiley: je vais tester /etc/rc.local
merci
a+