15 votos

¿Qué es el directorio de trabajo predeterminado de un script se ejecute a través de launchd?

Yo esperaba que esta tarea sea fácil de encontrar en Google, pero no era capaz de descubrimiento de nada.

Sé que el directorio de trabajo de un launchd agente/demonio puede ser cambiado a través de la workingdirectory clave. Sin embargo, esta clave es opcional. Si no hay un directorio de trabajo especificado, lo que hace macOS uso?

24voto

user3439894 Puntos 5883

El WorkingDirectory <string> en un launchd.plist es opcional clave se utiliza para especificar un directorio para chdir(2) antes de ejecutar el trabajo y si la clave no está presente, entonces la root / directorio de usa.

He verificado mediante la ejecución de un script de shell como Lanzar el Agente y el Lanzamiento de Demonio que cuando se ejecute anexa el listado de un directorio a un archivo de texto, y en todos los casos, sin la WorkingDirectory <string> clave, el de la salida de la root / directorio del disco de inicio.

Dependiendo de si se trataba o no de ejecutar como root o el usuario actual de la salida como de la root también contiene los directorios ocultos, incluso a pesar de que no se establece explícitamente en la salida de la secuencia de comandos.

Como una nota del lado, el PATH pasa a la secuencia de comandos de shell cuando se ejecuta como Lanzar el Agente y el Lanzamiento de Demonio era:

/usr/bin:/bin:/usr/sbin:/sbin

Tenga en cuenta que esto fue probado en OS X 10.8.5.

AppleAyuda.com

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.

Powered by:

X