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.
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
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
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
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.