Gestion des services système dans Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Juillet 2014
 
 

Procédure de modification d'une variable d'environnement pour un service de processus d'environnement

Cette procédure montre comment définir une valeur pour une variable d'environnement dans l'environnement dans lequel processus lancés par le service sera exécuté.

L'exemple dans cette procédure montre comment modifier des variables d'environnement cron afin d'obtenir de l'aide pour le débogage.

  1. Assurez-vous que le service est en cours d'exécution.

    La sortie suivante indique que le service cron est en ligne et qu'un processus cron est en cours d'exécution.

    $ svcs -p cron
    STATE          STIME    FMRI
    online         10:24:05 svc:/system/cron:default
                   10:24:05     1089 cron
  2. Définissez des variables d'environnement.

    La sous-commande setenv définit une variable d'environnement pour l'environnement où s'exécute un processus démarré par un service ou une instance de service.

    Exécutez la commande suivante pour vérifier les valeurs en cours du vous souhaitez définir les variables d'environnement :

    $ pargs -e `pgrep -f /usr/sbin/cron`

    Les variables d'environnement qui sont définies dans cet exemple ne disposent pas de valeurs en cours.

    Les commandes suivantes définissent les variables d'environnement UMEM_DEBUG et LD_PRELOAD pour le processus /usr/sbin/cron démarré par l'instance de service svc:/system/cron:default :

    $ svccfg -s system/cron:default setenv UMEM_DEBUG default
    $ svccfg -s system/cron:default setenv LD_PRELOAD libumem.so
  3. Actualisez et redémarrez le service

    La modification d'une valeur de variable d'environnement doit être redémarré, ainsi qu'un doit être actualisé.

    $ svcadm refresh system/cron:default
    $ svcadm restart system/cron:default
  4. Vérifiez que la modification a été effectuée.

    La sortie suivante indique que le service a été redémarré dispose d'un nouveau, l'ID processus, ainsi que les deux processus variables d'environnement sont définies pour cet environnement de traitement.

    $ svcs -p cron
    STATE          STIME    FMRI
    online          9:24:39 svc:/system/cron:default
                    9:24:39     5601 cron
    $ svcprop -g method -p environment system/cron:default
    start/environment astring LD_PRELOAD=libumem.so UMEM_DEBUG=default
    $ pargs -e `pgrep -f /usr/sbin/cron`
    5601: /usr/sbin/cron
    envp[0]: LOGNAME=root
    envp[1]: LD_PRELOAD=libumem.so
    envp[2]: PATH=/usr/sbin:/usr/bin
    envp[3]: SMF_FMRI=svc:/system/cron:default
    envp[4]: SMF_METHOD=start
    envp[5]: SMF_RESTARTER=svc:/system/svc/restarter:default
    envp[6]: SMF_ZONENAME=global
    envp[7]: UMEM_DEBUG=default

Voir aussi

La sous-commande unsetenv annule la définition d'une variable d'environnement pour un processus démarré par un service ou une instance de service.