Estoy teniendo un problema raro. Yo uso launchd para ejecutar un montón de scripts de shell que actualizar el contenido de mi sitio. Se estaba trabajando bien, cuando sólo era llamar a los scripts normalmente. Pero ahora que he hecho el script un poco más complicado, y el launchd plist necesita enviar un argumento cuando se llama a la secuencia de comandos. No hay problema, launchd ha ProgramArguments
sólo para eso. El problema es, simplemente, no funciona. Aquí está la parte importante de mi launchd.plist:
<key>ProgramArguments</key>
<array>
<string>/scripts/content.php</string>
<string>update</string>
</array>
He omitido sólo un Label
clave y un StarCalendarInterval
clave. Como se puede ver, la ruta del script es el primer elemento de la matriz. Que parece ser la causa más común de este problema.
Para ser claro, este NO abre mi script. Pero NO pasa ningún argumento. Tuve la salida de secuencia de comandos print_r($argv) a un registro de errores y salidas de este:
Array ( [0] => /scripts/content.php )
Lo más importante aquí, es que si me ejecute lo siguiente desde la línea de comandos, mi script funciona perfectamente y como se esperaba:
./content.php update
Parece que estoy haciendo todo bien, no estoy seguro de lo que está pasando con esto?