이 절차는 서비스에서 시작한 프로세스가 실행될 환경에서 환경 변수 값을 설정하는 방법을 설명합니다.
이 절차의 예에서는 디버깅을 위해 cron 환경 변수를 수정하는 방법을 보여줍니다.
다음 출력은 cron 서비스가 온라인 상태이고 cron 프로세스가 실행 중임을 보여줍니다.
$ svcs -p cron
STATE STIME FMRI
online 10:24:05 svc:/system/cron:default
10:24:05 1089 cron
setenv 하위 명령은 서비스나 서비스 인스턴스에서 시작한 프로세스가 실행될 환경에 대한 환경 변수를 설정합니다.
다음 명령을 사용하여 설정할 환경 변수의 현재 값을 확인합니다.
$ pargs -e `pgrep -f /usr/sbin/cron`
이 예에서 설정되는 환경 변수에는 현재 값이 없습니다.
다음 명령은 svc:/system/cron:default 서비스 인스턴스에서 시작한 /usr/sbin/cron 프로세스에 대한 UMEM_DEBUG 및 LD_PRELOAD 환경 변수를 설정합니다.
$ svccfg -s system/cron:default setenv UMEM_DEBUG default $ svccfg -s system/cron:default setenv LD_PRELOAD libumem.so
환경 변수 값을 변경하려면 새로 고치고 다시 시작해야 합니다.
$ svcadm refresh system/cron:default $ svcadm restart system/cron:default
다음 출력은 서비스가 다시 시작되었고 프로세스에 새 프로세스 ID가 포함되고 해당 프로세스 환경에 대한 두 개 환경 변수가 설정되었음을 보여줍니다.
$ 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
참조
unsetenv 하위 명령은 서비스나 서비스 인스턴스에서 시작한 프로세스에 대한 환경 변수를 설정 해제합니다.