¿El hecho de cambiar la extensión del archivo plist de un daemon impide que se cargue?

2

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

    
pregunta Petruza 23.07.2011 - 16:01

3 respuestas

0

launchctl list y sudo launchctl bstree le mostrarán los trabajos. Tendrá que leer sobre la parte de mach_init, así como tener en cuenta que launchd obtiene más y más de la torta a medida que avanza desde Tiger / Leopard / Snow Leopard / Lion. - El comando mdfind dashboardadvisory buscará en las áreas ocultas por defecto en los archivos del sistema. @bmike
PD: publícalo como una respuesta si quieres, así que lo marcas como correcto.

    
respondido por el Petruza 24.07.2011 - 20:21
0

La respuesta es sí. OS X busca solo archivos plist cuando carga LaunchAgents o LaunchDaemons, independientemente de si utiliza el estilo antiguo "Mach" (que bmike ha señalado hace tiempo que está obsoleto) 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 "inhabilitaría" el servicio para que no se ejecute, al igual que eliminar el plist, cambiar el nombre de la extensión del archivo o eliminar el archivo por completo.

    
respondido por el user10355 23.09.2011 - 00:21
0

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

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

Si omite el -w, solo deshabilitará la tarea para el arranque actual. Esto es útil para probar si deshabilitar una tarea launchd dañará su sistema: si tiene problemas, todo lo que tendrá que hacer para arreglar las cosas es reiniciar y las cosas volverán a la normalidad. De lo contrario, tendrá que iniciar el modo de usuario único y editar manualmente el plist para volver a habilitar la tarea launchd.

    
respondido por el Joe Block 30.04.2012 - 02:40

Lea otras preguntas en las etiquetas