Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/11/2007, à 09:15

B@rtounet

lancer un script en tant que daemon

Bonjour,
je cherche le moyen de lancer un script en tant que service, afin qu'il ne me bloque pas une console inutilement...

je pense qu'il faut chercher du coté de start-stop-daemon, mais j'ai du mal à  vois comment s'utilise cette commande...

Hors ligne

#2 Le 23/11/2007, à 09:44

SeB

Re : lancer un script en tant que daemon

Dans un screen?

Dans une console tape "screen"

Ensuite lance ta commande et CTRL-A - D pour détacher ton screen.
Je te renvoie à  man screen pour plus d'informations.
Il me semble avoir lu sur le planet qu'il y aurait une classroom sur IRC d'ici qq jours.


Sinon tu peux ajouter des commandes à  /etc/rc.local

Dernière modification par SeB (Le 23/11/2007, à 09:45)

Hors ligne

#3 Le 23/11/2007, à 11:46

B@rtounet

Re : lancer un script en tant que daemon

non je veux faire un script qui se lance en tant que service et qui reste en mémoire tant que je n'ai pas fait stop...

Hors ligne

#4 Le 23/11/2007, à 12:27

Gojita

Re : lancer un script en tant que daemon

nohup <script> &


Il y a 10 sortes de personnes
Celles qui savent compter en binaires et les autres.

Hors ligne

#5 Le 23/11/2007, à 12:45

B@rtounet

Re : lancer un script en tant que daemon

Merci c'est le genre de chose que je recherchait...

Par contre quelle est la différence avec start-stop-daemon
et peut on eviter les message de nohup

nohup: appending output to `nohup.out'

Hors ligne

#6 Le 23/11/2007, à 13:17

Thamior

Re : lancer un script en tant que daemon

Pourquoi ne pas placer ton script dans le /etc/init.d et etablir les liens symboliques dans les /etc/rc[runlevel] respectifs ?
Il faut par contre que tu ajoutes dans ton script un "case" pour gerer les arguments "start" et "stop" au minimum.

Hors ligne

#7 Le 23/11/2007, à 19:30

B@rtounet

Re : lancer un script en tant que daemon

tout simplement car je veux pas le lancer au démarrage... smile
je veux seulement un script que je puisse lancer quand je veux et qui se lance en tant que service...

personne ne connait comment fonctionne start-stop daemon ?

Hors ligne

#8 Le 24/11/2007, à 11:09

B@rtounet

Re : lancer un script en tant que daemon

voici le script en question... pour l'instant il ne fonctionne pas... il me lance plusieurs pid... et ne me red pas la main...

#!/bin/bash
#
#MARTINEAU Antony 2007
# /etc/init.d/watchnode
#
### BEGIN INIT INFO
# Provides:                     Watchnode plugin
# Required-Start:       $network
# Required-Stop:        $network
# Default-Start:        3 5
# Default-Stop:         0 1 2 4 6
# Description:  Verify conectivity about a node and advise Administrator about node unreachable
### END INIT INFO

watchnode_daemon=$(nohup /sbin/watchnode.sh &)

case "$1" in

        start)
                                id=$(pgrep -x watchnode.sh)
                                if [ ! -z $id ]; then
                                        echo "Watchnode plugin is already running."
                                        exit 0
                                else
                                        $watchnode_daemon
                                        echo "Watchnode plugin started."
                                        exit 1
                                fi
                ;;

                stop)
                                id=$(pgrep -x watchnode.sh)
                                if [ ! -z $id ]; then
                                        kill -9 $id
                                        while [ 1 ]; do
                                                id=$(pgrep -x xenha.sh)
                                                if [ -z $id ]; then
                                                        echo "Watchnode plugin stopped."
                                                        exit 0
                                                else
                                                        kill -9 $id
                                                fi
                                        done
else
                                        echo "Watchnode plugin is already stopped."
                                        exit 1
                                fi
                                ;;

                restart)
                                        while [ 1 ]; do
                                                id=$(pgrep -x watchnode.sh)
                                                if [ -z $id ]; then
                                                        $watchnode_daemon
                                                        echo "Watchnode plugin restarted."
                                                        exit 0
                                                else
                                                        kill -9 $id
                                                fi
                                        done
                ;;

                status)
                                id=$(pgrep -x watchnode.sh)
                                if [ ! -z $id ]; then
                                        echo "Watchnode plugin is running."
                                        exit 0
                                else
                                        echo "Watchnode plugin is not running."
                                        exit 0
                                fi
                                ;;

        *)
                echo "Usage: $0 [start|stop|restart|status]"
                exit 1
esac

Dernière modification par B@rtounet (Le 24/11/2007, à 11:14)

Hors ligne