3 votos

launchd de error "no se Pudo encontrar y/o ejecutar el programa especificado por el servicio"

Yo estoy intentando hacer un script para que se ejecute de launchd a intervalos regulares. El servicio de carga, pero no se ejecuta la secuencia de comandos.

El guión en sí es una prueba muy simple script de la siguiente manera:

echo "Hello World!" >> /Users/rhiannon/Library/Application\ Support/Script\ Testing/test.txt

El script se guarda como /Users/rhiannon/Library/Application\ Support/Script\ Testing/test-launchd.sh (con permisos de rwxr-xr-x) y felizmente se ejecuta desde la línea de comandos.

Tengo un archivo plist de la siguiente manera:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>uk.co.myco.timedshelltests</string>
        <key>Program</key> 
        <string>/Users/rhiannon/Library/Application\ Support/Script\ Testing/test-launchd.sh</string> 
        <key>StartInterval</key>
        <integer>60</integer>
    </dict>
</plist>

El plist archivo se guarda como /Users/rhiannon/Library/LaunchAgents/uk.co.myco.timedshelltests.plist con permisos de rw-r--r--.

Me carga el servicio a través de

launchctl load uk.co.myco.timedshelltests.plist

Con el registro conjunto con sudo launchctl log level debug, aparece el siguiente error en el registro del sistema:

com.apple.xpc.launchd[1] (uk.co.myco.timedshelltests[13505]): Could not find and/or execute program specified by service: 2: No such file or directory: /Users/rhiannon/Library/Application\ Support/Script\ Testing/test-launchd.sh
com.apple.xpc.launchd[1] (uk.co.myco.timedshelltests[13505]): Service setup event to handle failure and will not launch until it fires.
com.apple.xpc.launchd[1] (uk.co.myco.timedshelltests[13505]): Service exited with abnormal code: 78

Estoy bastante seguro de que los permisos son correctos, y sé que el camino es correcto. ¿Qué otra cosa podría estar equivocado?

4voto

Michael Zhou Puntos 167

Launchd no realizar palabra de dividir. Quitar los caracteres de escape \ desde la línea siguiente-

<string>/Users/rhiannon/Library/Application\ Support/Script\ Testing/test-launchd.sh</string> 

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