¿Cuál es el directory de trabajo pnetworkingeterminado de un script ejecutado a través de launchd?

Esperaba que esto fuera fácil de encontrar en Google, pero no pude descubrir nada.

Sé que el directory de trabajo de un launchd agent / demon se puede cambiar a través de la key workingdirectory . Sin embargo, esta key es opcional. Si no se especifica ningún directory de trabajo, ¿qué usa macOS?

  • La salida del script Launchd no se ha registrado en system.log
  • ¿Cuál es la diferencia entre un `service-name` y un` service-target`?
  • launchctl da error de permiso
  • Launchd no cargará lists en el arranque
  • Safari tarda en cargarse, inundando system.log con launchd errors
  • Cómo evitar que OS X intente ejecutar TeamViewer cada 10 segundos
  • Sin opción AirDrop en iPhone 4s
  • Inicio automático de Postfix en Sierra para smtp retransmisión
  • One Solution collect form web for “¿Cuál es el directory de trabajo pnetworkingeterminado de un script ejecutado a través de launchd?”

    El WorkingDirectory <string> en un launchd.plist es una key opcional utilizada para especificar un directory para chdir (2) antes de ejecutar el trabajo. Si esta key no está presente, entonces se usa el directory raíz / .

    Lo verifiqué ejecutando un script de shell como un Agente de inicio y un Daemon de inicio que, cuando se ejecutaba, agregaba una list de directorys a un file de text. En todos los casos, sin la WorkingDirectory <string> , el resultado fue el directory raíz / raíz del disco de inicio .

    Dependiendo de si se ejecutó o no como root o como usuario actual, la salida como raíz también contenía los directorys ocultos, a pesar de que el script no lo había establecido explícitamente.

    Como nota al margen, el PATH pasó al script de shell cuando se ejecutó tanto como un Launch Agent como Launch Daemon:

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

    Tenga en count que esto fue probado bajo OS X 10.8.5.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).