Estoy tratando de ejecutar pure-ftpd 1.0.46 como un servicio y he configurado mi 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>KeepAlive</key>
<true/>
<key>Label</key>
<string>homebrew.mxcl.pure-ftpd</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/pure-ftpd/sbin/pure-ftpd</string>
<string>-A</string>
<string>-E</string>
<string>-j</string>
<string>-z</string>
<string>-l</string>
<string>puredb:/usr/local/etc/pureftpd.pdb</string>
<string>-I</string>
<string>1</string>
<string>-c</string>
<string>1000</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>/usr/local/var</string>
<key>StandardErrorPath</key>
<string>/usr/local/var/log/pure-ftpd.log</string>
<key>StandardOutPath</key>
<string>/usr/local/var/log/pure-ftpd.log</string>
</dict>
</plist>
Sin embargo, encuentro que cada vez que intento ejecutarlo como un servicio, registra los siguientes errores.
pure-ftpd: opción no válida -
pure-ftpd: opción no reconocida `--j -z '
No se puede iniciar un servidor independiente: permiso denegado
¿Alguien puede identificar un error que he cometido en mi archivo plist?
Intenté confirmar que coincidía con el ejemplo de la respuesta de SirPavlovas que se proporciona aquí: Obteniendo launchd para leer los argumentos del programa correctamente
Respuestas:
Para cualquier persona que tenga este problema o similar, use la línea de comando
plutil
para obtener comentarios sobre cuáles son los problemas del archivo plist (por ejemplo, números de línea). En mi caso, la copia de la página de Confluencia que utilicé para documentar la guía de instalación insertó caracteres de espacio en blanco rotos, invisibles a simple vista pero que afectan a launchd.fuente