Re: Lancement d'un script en tache de fond par init

Page principale

Répondre à ce message
Auteur: Francois Pacull
Date:  
À: ML Guilde
Sujet: Re: Lancement d'un script en tache de fond par init
que se passe t il si tu ne met pas de sleep dans dodo.sh mais une liste
de echo "qqchose" par exemple.

le comportement du sleep n'est pas le plus anodin car il fait appel
generalememt a une machinerie assez complexe. De plus, il utilise un
appel systeme qui passe par le noyau. Essaye d'abord avec qqchose de
simple.

Autre chose, le fait que le message soit tronque ne veux pas dire qu'il
n'a pas ete envoye en entier juste que la console ne l'a pas affiche
completement. Ce qui confirme le fait que tu puisses te logger quand
meme. Je pencherai vers un probleme de conflit d'access au tty.

Essaye egalement de rediriger les sorties de dodo.sh vers un fichier.

En esperant que cela aide.

Francois




On Tue, 2004-04-06 at 09:51, Frédéric Mantegazza wrote:
> Bonjour,
>
> Toujours sur mon linux embarque, je n'arrive pas a lancer un script en tache
> de fond lors de la phase d'initialisation. Je m'explique.
>
> Mon fichier /etc/inittab contient:
>
>    ::sysinit:/etc/rc.sysinit
>    ::respawn:/bin/login
>    ::ctrlaltdel:/sbin/reboot

>
> ce qui veut dire que le process 'init' (le pere de nos pere), lance le
> script /etc/rc.sysinit. Dans ce script, j'ai:
>
>    #!/bin/sh
>    #
>    # /etc/rc.sysinit - run once at boot time
>    #

>
>    test -d /dev/pts || mkdir /dev/pts

>
>    mount -a

>
>    chown -R root:root /root
>    chown -R guest:guest /home/guest

>
>    # Configure network
>    echo "Configuring network..."
>    ifconfig lo localhost
>    ifconfig eth0 192.54.197.67
>    route add -net default netmask 0.0.0.0 gw 192.54.197.254
>    hostname elinos
>    /sbin/inetd &
>    echo "Done."

>
>    # Start Pyro Name Server
>    /usr/local/bin/dodo.sh &

>
>    echo
>    echo "####################################################################"
>    echo "#                                                                  #"
>    echo "#            Welcome to the PyMAD.embedded project.                #"
>    echo "#                                                                  #"
>    echo "####################################################################"
>    echo

>
> Tout marche tres bien jusqu'a ce que je lance mon script 'dodo.sh' en tache de
> fond. Non seulement celui-ci n'est pas lance (il contient juste la ligne
> sleep 600), mais en plus les lignes du message de bienvenue ne s'affichent
> pas; je ne vois qu'une ligne de '#', et encore, incomplete.
>
> Par contre, apres ca, j'ai bien mon invite pour me loguer.
>
> Ce qui me chagrine, c'est que /sbin/inetd est bien lance, lui. Alors pourquoi
> pas mon script ? D'autant plus qu'il se lance bien si je ne met pas '&', mais
> a ce moment, je n'ai plus d'invite pour me loguer puisque je reste bloque
> dessus :o(
>
> Si vous avez une idee...

--