Tache de fond [Résolu/Fermé]

Fab - 18 mars 2008 à 11:12 - Dernière réponse :  Fab
- 18 mars 2008 à 16:05
Bonjour à tous,

Je butte sur un problème tout simple

Je veux lancer un script bloquant depuis le rc2.d au boot
Je fais un lien symbolique genre : S25blabla
mais mon script est bloquant, la machine ne finit donc pas son initialisation
Le script pourrait ressembler à ça : essai.sh:

#! /bin/sh

while true; do
sleep 10
done

Pour que ça marche je suis obligé de créer un autre script essai :

#! /bin/sh

sh /home/fab/essai.sh &

N'y a-t-il pas un moyen plus simple de tout mettre dans le même script, je n'arrive pas à trouver ?

Merci
Afficher la suite 

4 réponses

marc[i1] 2581 Messages postés vendredi 1 avril 2005Date d'inscriptionContributeurStatut 6 septembre 2008 Dernière intervention - 18 mars 2008 à 11:26
0
Utile
1
Salut,

while demande de vérifier une valeur !

Cette construction teste une condition au début de la boucle et continue à boucler tant que la condition est vraie (renvoie un 0 comme code de sortie).

Pour tester, il faut une valeur de référence, ton while n'en a pas :
while true << vrai en fonction de quoi ?

voilà :)
Salut Marc,

Pour le while c'est ok il y a pas de problème il tourne à l'infinie, mais c'est voulu. D'ailleurs si je lance le deuxième script j'obtiens ce que je veux.

Ma question est : comment avec ces deux script en faire qu'un pour le même résultat ?
sov^36 3652 Messages postés jeudi 5 avril 2007Date d'inscriptionContributeurStatut 8 juillet 2008 Dernière intervention - 18 mars 2008 à 14:03
0
Utile
1
SAlut,
avec une fonction peut-être :

#!/bin/bash

mon_script()
{
while true; do
sleep 10
done 
}

mon_script &

Oui finalement on peut même oublier la fonction et faire :

#!/bin/bash

(
while true; do
sleep 10
done
) &

attention c'est des parenthèses, remarquez ça fonctionne peut-être avec {} ?

Merci pour vos aides !!