IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

Créer un démon


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 72
    Par défaut Créer un démon
    Salut!
    J'ai un programme en C, et je veux qu'il s'execute au démarrage en background,
    mais je ne sais pas comment proceder, si quelqu'un pourra m'aider je lui serai trés reconnaissant!
    Merci et A+

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 241
    Par défaut
    Bonjour,
    peut-être pourrais-tu jeter un oeil aux pages de manuel de daemon ou fork.

    Cordialement,
    S. Desbois

  3. #3
    Membre confirmé Avatar de arnaud036
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Par défaut
    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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/04/2015, 01h33
  2. Créer un interpréteur de langage inspiré du Basic
    Par Picasso dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 11/05/2002, 18h10
  3. Comment faire pour créer un bitmap
    Par GliGli dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2002, 16h41
  4. Peux t'on créer une copie locale de l'objet partagé?
    Par Anonymous dans le forum CORBA
    Réponses: 8
    Dernier message: 16/04/2002, 17h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo