¿Cambiar la extensión del archivo plist de un daemon evita que se cargue?

Particularmente quiero deshabilitar: /private/etc/mach_init.d/dashboardadvisoryd.plist.disabled, pero en general para cualquier demonio.
¿Cambiar su plistextensión evita que se cargue?
En el pasado los moví a una carpeta diferente, pero esto es más conveniente.

Primero verifique para asegurarse de que launchd realmente no los esté cargando. mach_init está en desuso...
este es el único éxito que recibo de Spotlightingdashboardadvisoryd
@bmike ¿cómo compruebo eso?
launchctl listy sudo launchctl bstreele mostrará los trabajos. Deberá leer sobre la parte mach_init y tener en cuenta que launchd obtiene más y más del pastel a medida que avanza de Tiger/Leopard/Snow Leopard/Lion; su pregunta en general es básicamente "guíame a través de lanzado" - El comando mdfind dashboardadvisorybuscará en las áreas ocultas por defecto en Spotlight como archivos del sistema.
@bmike gracias, después de reiniciar, launchctl bstreeya no lo muestra, así que sí, parece que se estaba cargando desde mach_init.d
Tenga en cuenta que también hay una <key>Disabled</key> en algunos archivos plist que no parece hacer nada...

Respuestas (3)

launchctl list y sudo launchctl bstree le mostrarán los trabajos. Deberá leer sobre la parte mach_init y tener en cuenta que launchd obtiene más y más del pastel a medida que avanza de Tiger/Leopard/Snow Leopard/Lion; su pregunta en general es básicamente "guíame a través de lanzado" - El comando mdfind dashboardadvisory buscará en las áreas ocultas por defecto en Spotlight como archivos del sistema.
@bmike
PD: publícalo como respuesta si quieres, así lo marco como correcto.

También puede deshabilitar un LaunchAgent o LaunchDaemon determinado con launchctl sin cambiar el nombre del archivo.

sudo launchctl unload -w /Library/LaunchDaemons/com.whatever.you.want.to.disable.plist

Si omite -w, solo deshabilitará la tarea para el arranque actual. Esto es útil para probar si la desactivación de una tarea de inicio afectará su sistema; si tiene problemas, todo lo que tendrá que hacer para solucionarlo es reiniciar y todo volverá a la normalidad. De lo contrario, tendrá que iniciar en modo de usuario único y editar manualmente el plist para volver a habilitar la tarea de inicio.

La respuesta es sí. OS X solo busca archivos plist cuando carga LaunchAgents o LaunchDaemons, independientemente de si usa el método "Mach" de estilo antiguo (que, como ha señalado bmike, ha quedado en desuso durante mucho tiempo) o el método actual y moderno.

El contenido del archivo plist es el siguiente (esto muestra el servicio AELWriter):

<?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>com.apple.aelwriter</string>
        <key>MachServices</key>
        <dict>
                <key>com.apple.aelwriter</key>
                <true/>
        </dict>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/sbin/AELWriter</string>
        </array>
        <key>RunAtLoad</key>
        <false/>
        <key>UserName</key>
        <string>root</string>
        <key>ThrottleInterval</key>
        <integer>2</integer>
</dict>
</plist>

Puede ver que lo que realmente inicia el servicio es una cadena debajo de la clave ProgramArguments. Cambiar ese valor también "deshabilitaría" la ejecución del servicio, al igual que eliminar el plist, cambiar el nombre de la extensión del archivo o eliminar el archivo por completo.