La modifica dell'estensione del file plist di un demone ne impedisce il caricamento?

2

In particolare voglio disabilitare: /private/etc/mach_init.d/dashboardadvisoryd.plist.disabled , ma in generale per qualsiasi demone.
Cambiare la sua estensione plist gli impedisce di caricare?
In passato li ho spostati in una cartella diversa, ma questo è più conveniente.

    
posta Petruza 23.07.2011 - 16:01
fonte

3 risposte

0

elenco launchctl e sudo launchctl bstree mostrerà i lavori. Avrai bisogno di leggere la parte di mach_init e di essere consapevole del fatto che launchd ottiene sempre più la torta man mano che vai da Tiger / Leopard / Snow Leopard / Lion - la tua domanda in generale è fondamentalmente "walk me through launch" - Il comando mdfind dashboardadvisory cercherà nelle aree nascoste di default sotto i riflettori come file di sistema.
@bmike
PS: pubblicalo come risposta se vuoi, quindi contrassegnalo corretto.

    
risposta data 24.07.2011 - 20:21
fonte
0

La risposta è sì. OS X cerca solo i file plist durante il caricamento di LaunchAgent o LaunchDaemon, indipendentemente dal fatto che si utilizzi il vecchio modo "Mach" (che come già sottolineato da Bmike è stato a lungo deprecato) o il metodo attuale e moderno.

I contenuti del file plist sono i seguenti (questo mostra il servizio 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>

Puoi vedere che ciò che effettivamente lancia il servizio è una stringa sotto la chiave ProgramArguments . Cambiando quel valore si "disabilita" anche il funzionamento del servizio, così come rimuovendo il plist, rinominando l'estensione del file o cancellando il file a priori.

    
risposta data 23.09.2011 - 00:21
fonte
0

Puoi anche disabilitare un determinato LaunchAgent o LaunchDaemon con launchctl senza rinominare il file.

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

Se si omette il -w, disabiliterà solo l'attività per l'avvio corrente. Questo è utile per testare se disabilitare un task launchd farà fallire il tuo sistema - se ti trovi nei guai, tutto quello che dovrai fare per correggere le cose è il riavvio, e le cose torneranno alla normalità. Altrimenti dovrai avviare la modalità utente singolo e modificare manualmente il plist per riattivare l'operazione launchd.

    
risposta data 30.04.2012 - 02:40
fonte

Leggi altre domande sui tag