com.apple.launchd: errore com.apple.launchd.peruser


13

Sono un paio di giorni che sto leggendo questi errori nel file di registro di sistema.

25/11/11 21:31:43,373 com.apple.launchd: (com.apple.launchd.peruser.32697[92747]) getpwuid("32697") failed
25/11/11 21:31:43,374 com.apple.launchd: (com.apple.launchd.peruser.32697[92747]) Exited with code: 1
25/11/11 21:31:43,374 com.apple.launchd: (com.apple.launchd.peruser.32697) Throttling respawn: Will start in 10 seconds

Ho OSX Lion 10.7.2.
Questi messaggi vanno ripetuti ogni pochi secondi, ho goggled getpwuid () e sembra essere una chiamata di sistema.
Ho anche letto alcuni post di superutente su questo problema:
/superuser//search?q=com.apple.launchd.peruser
ma l'esecuzione dei comandi riportati nella console non mi ha dato alcun suggerimento su come risolvere questo problema .

Ho rintracciato la prima apparizione di questo errore al 20 novembre, ecco le righe precedenti del file system.log:

Nov 20 17:22:10 MacBook-Pro com.apple.backupd[45360]: Deleted /Volumes/Time Machine/Backups.backupdb/MacBook Pro/2011-11-18-215307 (64.9 MB)
Nov 20 17:22:26 MacBook-Pro com.apple.backupd[45360]: Deleted /Volumes/Time Machine/Backups.backupdb/MacBook Pro/2011-11-18-205448 (88.3 MB)
Nov 20 17:22:26 MacBook-Pro com.apple.backupd[45360]: Post-back up thinning complete: 5 expired backups removed
Nov 20 17:22:28 MacBook-Pro com.apple.backupd[45360]: Backup completed successfully.
Nov 20 17:23:47 MacBook-Pro iCal[45376]: ServerNotifications: Setting delegate to APSD
Nov 20 17:23:47 MacBook-Pro iCal[45376]: ServerNotification: configureService called with nil password
Nov 20 17:23:55 MacBook-Pro iCal[45376]: Subscription request completed
Nov 20 17:28:47 MacBook-Pro com.apple.launchd[1] (com.apple.launchd.peruser.32697[45390]): getpwuid("32697") failed
Nov 20 17:28:47 MacBook-Pro com.apple.launchd[1] (com.apple.launchd.peruser.32697[45390]): Exited with code: 1
Nov 20 17:28:47 MacBook-Pro com.apple.launchd[1] (com.apple.launchd.peruser.32697): Throttling respawn: Will start in 10 seconds    

Dopo questo ci sono (davvero) tonnellate di messaggi di questo tipo.

Qualcuno ha qualche suggerimento?


Hai recentemente eliminato un account utente dal tuo computer? Cosa succede quando si apre il terminale e si entra touch foo ; sudo chown 32697 foo ; ls -l foo?
Daniel Beck


Qual è l'output di sudo launchctl bstree -j, contiene una riga con com.apple.launchd.peruser.32697? Quali sono gli elementi figlio?
Daniel Beck

l'output di touch foo; abito sudo 32697 foo; ls -l foo è: touch: foo: autorizzazione negata e quindi: -rw-r - r-- 1 32697 staff 0 26 nov 11:55 foo
nick2k3

OK, quindi l'ID utente non esiste sul tuo sistema. launchctlsarebbe interessante però.
Daniel Beck

Risposte:


10

Le launchdsostituzioni di lavori per utente (ad es. Quali lavori per utente sono disabilitate per un utente) si trovano in sottodirectory di /private/var/db/launchd.db/, ad es com.apple.launchd.peruser.501.

Apri Terminale e vedi chi possiede questa directory:

ls -ld /private/var/db/launchd.db/com.apple.launchd.peruser.32697

Se il proprietario (terza colonna) non è un nome utente, ma un ID numerico, tale utente non esiste (più) sul tuo sistema.

Puoi semplicemente rimuovere quella directory e farla finita. Se ci sono regole speciali in overrides.plist, potrebbe aiutarti a capire l'origine di quell'utente e i lavori avviati.


Per scoprire quando è launchdstata creata quella directory per utente, inserire

stat /private/var/db/launchd.db/com.apple.launchd.peruser.32697

È l'ultima (quarta) data stampata.


Per trovare tutti i file sul tuo sistema non di proprietà di un utente noto, inserisci

find / -nouser -ls

Se 32697non è un utente sul tuo sistema (nessun nome utente), questo potrebbe darti alcune informazioni (ad esempio, i file relativi a una particolare applicazione che hai installato potrebbero significare che l'applicazione ha incasinato le tue impostazioni utente)


"Le sostituzioni dei processi di avvio per utente (ad es. Quali processi per utente sono disabilitati per un utente) si trovano nelle sottodirectory di /private/var/db/launchd.db/, ad esempio com.apple.launchd.peruser.501." puoi spiegarlo? c'è qualche documentazione sulle sostituzioni dei lavori avviati?
nick2k3,

@nick Da man launchctl: -w Sostituisce la chiave disabilitata e la imposta su false. Nelle versioni precedenti, questa opzione avrebbe modificato il file di configurazione. Ora lo stato della chiave disabilitata è memorizzato altrove sul disco. . /.../launchd.dbè "altrove". Se imponi il caricamento / scaricamento di un processo per utente, non modifica il file utilizzato da tutti gli account (sarebbe un po 'stupido imporre le tue preferenze agli altri su un sistema multiutente). E quella directory è dove sono invece archiviati, ma solo se personalizzati (ad es. Eseguendo un lavoro disabilitato di default o viceversa). Non è davvero una preferenza vitale.
Daniel Beck

Ok, grazie mille per la tua spiegazione!
nick2k3,

6
Oltre a rimuovere la directory, si vuole uccidere il lavoro da launchd - sudo launchctl stop com.apple.launchd.peruser.32697, sudo launchctl unload com.apple.launchd.peruser.32697,sudo launchctl remove com.apple.launchd.peruser.32697
Doug Harris

Grazie Doug, l'ultimo set di tre comandi interrompe l'esecuzione costante di quel comando.
ConstantineK,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.