Salut,
Pour créer un service au démarrage de ton PC, tu doit jetter un coup d'oeil au niveau du repertoire /etc/rc.d.
Ce répertoire est lus a chaque changement de la valeur du processus init.
Le répertoire /etc/rc.d est composer de plusieurs sous répertoire:
rc0.d -> Ce répertoire est lus lors de l'arrête du pc
rc1.d,rc2.d,rc3.d,rc4.d,rc5.d -> Ces répertoire son lus en fonction du niveau de démarrage choisis.
rc6.d -> Ce répertoire est lus lors du redemarrage du pc
init.d -> Il contient les scripts de démarrage de tes services.
(Par exemple
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| #!/bin/sh
#AUTHOR Arnaud DELABARRE
case "$1" in
start)
echo "Démarrage Serveur POSTGRESQL..."
#ajoute la ligne de commande de lancement de ton service
su - postgres -c '/home/postgres/pgsql/bin/pg_ctl start -D /home/postgres/pgsql/data'
;;
stop)
echo "Arrêt Serveur POSTGRESQL..."
#ajoute la ligne de commande d'arret de ton service
#Si ton deamon ne contient pas de commande d'arret tu peux recupérer le pid du deamons et le killer
su - postgres -c '/home/postgres/pgsql/bin/pg_ctl stop -m smart -D /home/postgres/pgsql/data'
;;
restart)
$0 stop
sleep 1
$0 start
;;
status)
/usr/bin/pg_ctl status -D /home/postgres/pgsql/data
;;
*)
echo "Usage: $0 {start|stop|reload|restart|status}"
exit 1
;;
esac
# End $rc_base/init.d/ |
Une fois ton script mis en place dans ton repertoire /etc/rc.d/init.d/ tu dois creer des liens sybolique dans les répertoire rc?.d avec la commande:
ln -s NOMDULIEN /etc/rc.d/init.d/tonscript
Le NOMDULIEN dois respecter une certain syntaxe:
La premiere lettre doit etre soit 'S' si tu veux demarrer ton service ou 'K' si tu veux l'arreter.
Ensuite la lettre doit etre suivie d'un nombre compris entre 1-99 ce qui correspond a ta prioriter de démarrage ou d'extinction de ton service.
Et pour finir tu mets le nom de ton service.
Par exemple:
1 2 3 4 5 6
| S97deamon1 -> ../init.d/deamon1 #Demarrage du deamon1 en postion 97 avant le deamon2
S98deamon2 -> ../init.d/deamon2 #Demarrage du deamon2 en postion 98 apres le deamon1
K99deamon1 -> ../init.d/deamon1 #Extinction du deamon1 avant le deamon2
K98deamon2 -> ../init.d/deamon2 #Extinction du deamon2 apres le deamon1 |
Esperant que mes explications te soyent le plus claire possible.
Si tu a une question n'hésite pas
Partager