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.