Lecture du script de démarrage du démon Portmap
Edit : Je ne détaillerai pas tout le script, il y a redondance
#!/bin/sh
#
# start/stop portmap daemon.
### BEGIN INIT INFO
# Provides: portmap
# Required-Start: $network
# Required-Stop: $network
# Default-Start: S 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: The RPC portmapper
# Description: Portmap is a server that converts RPC (Remote
# Procedure Call) program numbers into DARPA
# protocol port numbers. It must be running in
# order to make RPC calls. Services that use
# RPC include NFS and NIS.
### END INIT INFO
test -f /sbin/portmap || exit 0
test si le programme existe sinon sortie du script
. /lib/lsb/init-functions
indications du programme des fonctions de démarrage
OPTIONS=""
la variable $OPTIONS est nulle
if [ -f /etc/default/portmap ]; then
si le fichier de configuration /etc/default/portmap existe alors
. /etc/default/portmap
lecture du fichier de configuration
elif [ -f /etc/portmap.conf ]; then
si le test précédent n'est pas vrai alors on vérifie l'existence du fichier /etc/portmap.conf
. /etc/portmap.conf
fi
fin des deux test précédent
case "$1" in
start)
log_begin_msg "Starting portmap daemon..."
affichage de "Starting portmap daemon"
pid=`pidof portmap`
recherche du numéro de processus de portmap ( avec la commande pidof ) et inscription dans la variable $pid
if [ -n "$pid" ] ; then
si la variable $pid n'est pas nulle alors
log_begin_msg "Already running."
affichage du message "Already running"
log_end_msg 0
affichage du message de fin
exit 0
sortie du script
fi
start-stop-daemon --start --quiet --oknodo --exec /sbin/portmap -- $OPTIONS
on lance le programme portmap ( à l'aide de la commande start-stop-daemon )
log_end_msg $?
affichage du résultat de la commande précédente
if [ -f /var/run/portmap.upgrade-state ]; then
si /var/run/portmap.upgrade-state existe alors
log_begin_msg "Restoring old RPC service information..."
affichage de "Restoring old RPC service information..."
sleep 1 # needs a short pause or pmap_set won't work. :(
pause de 1 seconde
pmap_set
renvoie de l'entrée de la commande dans /var/run/portmap.upgrade-state
log_end_msg $?
affichage du résultat de la commande précédente
rm -f /var/run/portmap.upgrade-state
suppression du fichier ( avec l'option force ) /var/run/portmap.upgrade-state
else
sinon
if [ -f /var/run/portmap.state ]; then
sleep 1 # needs a short pause or pmap_set won't work. :(
pmap_set
rm -f /var/run/portmap.state
fi
fi
mkdir -p /lib/init/rw/sendsigs.omit.d
création du répertoire /lib/init/rw/sendsigs.omit.d
rm -f /lib/init/rw/sendsigs.omit.d/portmap
suppression de /lib/init/rw/sendsigs.omit.d/portmap
ln -s /var/run/portmap.pid /lib/init/rw/sendsigs.omit.d/portmap
création d'un lien symbolique ( raccourci ) entre /var/run/portmap.pid et /lib/init/rw/sendsigs.omit.d/portmap
;;
stop)
log_begin_msg "Stopping portmap daemon..."
pmap_dump >/var/run/portmap.state
start-stop-daemon --stop --quiet --oknodo --exec /sbin/portmap
log_end_msg $?
;;
force-reload)
$0 restart
redémarrage du script ( le nom du script est contenu dans la variable $0 )
;;
restart)
$0 stop
$0 start
;;
*)
log_success_msg "Usage: /etc/init.d/portmap {start|stop|force-reload|restart}"
exit 1
;;
esac
exit 0