¿Hay alguna forma, reiniciar, para obligar a launchd
a volver a leer variables de entorno definidas recientemente en /etc/launchd.conf
?
¿Se puede hacer con launchctl(1)
?
¿Hay alguna forma, reiniciar, para obligar a launchd
a volver a leer variables de entorno definidas recientemente en /etc/launchd.conf
?
¿Se puede hacer con launchctl(1)
?
No hay ninguna manera de hacer esto", launchd" es el proceso master, el equivalente de "init" en otros sistemas unix, la única manera en cualquier otro demonio sería la realización de algún tipo de kill-HUP para volver a cargar los archivos de configuración, etc, pero esta operación no está permitida en launchd. Si usted la busque en la tabla de proceso es el número 1 del proceso, cada proceso que se está ejecutando actualmente, en cierto modo, un niño de la misma, por lo que un reboot es la única manera de lograr esto. Puede que tenga más suerte en el establecimiento de esas variables de entorno en otra área que está más inclinado a permitir que se reinicia.
Dans-iMac:etc stuffe$ ps -ef | grep launchd | grep -v grep
0 1 0 0 9:40am ?? 0:09.47 /sbin/launchd
65 18 1 0 9:40am ?? 1:53.64 /usr/sbin/mDNSResponder -launchd
213 73 1 0 9:41am ?? 0:02.55 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd -launchd
0 85 1 0 9:41am ?? 0:00.08 /System/Library/CoreServices/ODSAgent.app/Contents/MacOS/ODSAgent -launchd
89 230 1 0 9:41am ?? 0:00.01 /sbin/launchd
501 238 1 0 9:41am ?? 0:00.23 /sbin/launchd
501 933 238 0 10:53am ?? 0:00.01 /System/Library/CoreServices/AirPort Base Station Agent.app/Contents/MacOS/AirPort Base Station Agent -launchd -allowquit
EDITAR:
Por supuesto, la falta de la solución obvia que usted puede agregar las variables relevantes en el archivo de configuración y, a continuación, sólo tiene que ejecutar los comandos manualmente con el fin de escapar de la necesidad de reiniciar el equipo, nada de lo que sólo recientemente los programas de inicio tendrá en cuenta cualquier cambio. He encontrado esta página en la que se explica con más detalle:
Conjunto de variables de entorno en launchd estará disponible para todos los programas en el sistema. Sin embargo, desde $HOME/.launchd.conf no es apoyado, este método se utiliza para variables del entorno global sólo.
El /etc/launchd.conf archivo contiene una lista de comandos a ejecutar por launchctl durante el inicio. Sin embargo conjunto de variables de entorno en /etc/launchd.conf no puede tener espacios y no puede hacer referencia a otros las variables de entorno; launchctl cuando se ejecuta en el Terminal no sufrir estas limitaciones. Tenga en cuenta que /etc/launchd.conf no existe por por defecto, así que vamos a necesitar para crear.
Es necesario reiniciar el equipo para cargar el contenido de /etc/launchd.conf. Sin embargo, si se ejecuta la correspondiente launchctlcommands en Terminal, se puede aliviar la necesidad de que el proceso de reinicio. Sólo recuerde que si sólo se hace la launchctl comandos, y no poner las entradas en /etc/launchd.conf, no persiste después de reiniciar el sistema.
Si usted quiere tener un sistema de ancho variable de entorno que utiliza espacios o ser dependiente de otra variable de entorno, se puede poner el launchctl comandos en uno de los archivos de la Terminal de lee. Usted tiene que salir y reiniciar el Terminal para acceder al nuevo conjunto de variables.
Sí, puede utilizar launchctl agregar para usted.
por ejemplo desde la terminal:
grep -E "^setenv" /etc/launchd.conf | xargs -t -L 1 launchctl
salidas en mi máquina:
launchctl setenv _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true
launchctl setenv JMETER_HOME /Applications/apache-jmeter-2.10
lauchctl setenv GRADLE_HOME /usr/local/gradle-2.0
A continuación, puede reiniciar cualquier aplicación que necesite atención de forma
AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.