De man 5 init
:
Ambiente de trabajo
Cada trabajo se ejecuta con el entorno desde los eventos o comandos que lo iniciaron. Además, puede definir valores predeterminados en
trabajo que puede anularse más adelante y especificar qué variables de entorno se exportan a los eventos generados para el trabajo.
La variable de entorno especial UPSTART_EVENTS contiene la lista de eventos que iniciaron el trabajo, no estará presente si el
El trabajo se inició manualmente.
Además, los scripts previos y posteriores se ejecutan con el entorno de los eventos o comandos que detuvieron el trabajo.
La variable de entorno UPSTART_STOP_EVENTS contiene la lista de eventos que detuvieron el trabajo, no estará presente si el trabajo
fue detenido manualmente.
Todos los trabajos también contienen las variables de entorno UPSTART_JOB y UPSTART_INSTANCE, que contienen el nombre del trabajo y la instancia.
Estos son utilizados principalmente por la utilidad initctl (8) para actuar de manera predeterminada en el trabajo desde el que se llaman los comandos.
CLAVE env [= VALOR]
Define una variable de entorno predeterminada, cuyo valor puede ser anulado por el evento o comando que inicia el trabajo.
Si se especifica "CLAVE = VALOR", la variable CLAVE recibe el valor VALOR. Si solo se da ´KEY´, entonces se toma el valor
del entorno del demonio init (8).
clave de exportación
Exporta el valor de una variable de entorno en los eventos inicial (7), iniciado (7), detenido (7) y detenido (7) para este
trabajo y a todos los eventos resultantes (no solo los relacionados con el trabajo actual).
Además, puede hacer grep env /etc/init/*
para ver cómo se usa
Esta es mi salida:
/etc/init/container-detect.conf:env container
/etc/init/container-detect.conf:env LIBVIRT_LXC_UUID
/etc/init/container-detect.conf: # es buscar "contenedor" en el entorno de init.
/etc/init/container-detect.conf: [-d / proc / vz] && [! -d / proc / bc] && container = openvz
/etc/init/mounted-debugfs.conf:env MOUNTPOINT = / sys / kernel / debug
/etc/init/mounted-dev.conf:env MOUNTPOINT = / dev
/etc/init/mounted-proc.conf:env MOUNTPOINT = / proc
/etc/init/mounted-tmp.conf:env MOUNTPOINT = / tmp
/etc/init/munin-node.conf:env DAEMON = / usr / sbin / munin-node
/etc/init/mysql.conf:env HOME = / etc / mysql
/etc/init/nginx.conf:env DAEMON = / usr / local / nginx / sbin / nginx
/etc/init/nginx.conf:env PID = / usr / local / nginx / logs / nginx.pid
/etc/init/procps.conf:env UPSTART_EVENTS =
/etc/init/rc.conf:env INIT_VERBOSE
/etc/init/rc-sysinit.conf:env DEFAULT_RUNLEVEL = 2
/etc/init/rc-sysinit.conf:env RUNLEVEL =
/etc/init/rc-sysinit.conf:env PREVLEVEL =
/etc/init/rc-sysinit.conf:env INIT_VERBOSE
/etc/init/wait-for-state.conf:env TIMEOUT = 30
/etc/init/wait-for-state.conf:env MANUAL_OVERRIDE = "N"
/etc/init/wait-for-state.conf:env WAIT_FOREVER = "N"
/etc/init/wait-for-state.conf:env WAIT_STATE = "iniciado"
/etc/init/wait-for-state.conf:env TARGET_GOAL = "inicio"
Y para un ejemplo exhaustivo, vea algunos de esos scripts. Aquí nginx.conf:
# nginx
descripción "nginx http daemon"
autor "Philipp Klose"
iniciar en (sistema de archivos y net-device-up IFACE = lo)
detenerse en el nivel de ejecución [! 2345]
env DAEMON = / usr / local / nginx / sbin / nginx
PID env = / usr / local / nginx / logs / nginx.pid
esperar tenedor
reaparecer
límite de reaparición 10 5
# nunca nunca
guión preinicio
$ DAEMON -t
si [$? -ne 0]
entonces salga $?
fi
fin de guión
exec $ DAEMON