Perché launchd ha più istanze per utente (non solo me e root, ma anche _spotlight e _windowserver)?

1

Ho trovato che il processo launchd ha più istanze nell'elenco dei processi. Ciò che sembra interessante è che ci sono quattro utenti in cui sono in esecuzione questi processi di launchd :

  • root
  • < current_user [cioè. me] >
  • _windowserver
  • _spotlight

Come descritto nei documenti di Apple ( Creazione di demoni di lancio e agenti ), verrà lanciato launchd per utente. Ma perché gli utenti richiedono launchd come _spotlight e _windowserver . Mi aspetterei solo root e <current_user[i.e. me]> . Perché entrambi gli utenti ( _spotlight e _windowserver ) richiedono il launchd? Apprezzerei qualsiasi riferimento a documenti Apple o altre risorse.

le relazioni del processo genitore-figlio sono le seguenti:

kernel_task(0,root) -> launchd(1,root) -> launchd(130, _windowserver)
                                       -> launchd(150, <current_user[i.e. me]>)
                                       -> launchd(470, _spotlight)
    
posta static 30.04.2014 - 21:53
fonte

1 risposta

2

La risposta chiara è che separando i processi in utenti, si separano le autorizzazioni che ogni processo eredita. Questo è un idioma unix di lunga data per la sicurezza e il controllo delle risorse ponendo limiti per utente su cose come file aperti e memoria e persino thread / processi.

Su OS X - Spotlight ha bisogno di generare processi per indicizzare i file, il server della finestra è responsabile di aprire la schermata di blocco e cose da preparare per il primo utente grafico ad accedere. Root è l'account admin defacto con ampi livelli di potenza e permessi. Ogni processo utente ottiene un launchd per avviare i programmi e le cose di cui hanno bisogno.

Per quanto riguarda la documentazione ufficiale, inizierei con questo articolo su Daemon e servizi.

link

Mostra la divisione utente vs livello di sistema già nella prima pagina. Puoi cercare altri argomenti di launchd da quel link se necessario (oppure utilizzare Xcode per consultare la documentazione offline).

    
risposta data 30.04.2014 - 22:03
fonte

Leggi altre domande sui tag