com.apple.launchd: error com.apple.launchd.peruser

13

Han pasado un par de días que estoy leyendo estos errores en el archivo de registro del 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

Tengo OSX Lion 10.7.2.
Estos mensajes se repiten una y otra vez cada pocos segundos, tengo gafas getpwuid () y parece ser una llamada al sistema.
También he leído algunas publicaciones de superusuario sobre este problema:
/superuser//search?q=com.apple.launchd.peruser,
pero ejecutar los comandos informados en la consola no me dio ninguna pista sobre cómo resolver este problema .

He rastreado la primera aparición de este error hasta el 20 de noviembre, aquí están las líneas anteriores del archivo 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    

Después de esto, hay (realmente) toneladas de mensajes de este tipo.

¿Alguien tiene alguna pista?

nick2k3
fuente
¿Recientemente eliminó una cuenta de usuario de su máquina? ¿Qué sucede cuando abres la terminal y entras touch foo ; sudo chown 32697 foo ; ls -l foo?
Daniel Beck
¿Cuál es la salida de sudo launchctl bstree -j, contiene una línea com.apple.launchd.peruser.32697? ¿Cuáles son los elementos secundarios?
Daniel Beck
la salida de touch foo; sudo chown 32697 foo; ls -l foo es: touch: foo: Permiso denegado y luego: -rw-r - r-- 1 32697 staff 0 26 nov 11:55 foo
nick2k3
OK, entonces esa ID de usuario no existe en su sistema. launchctlSin embargo, sería interesante.
Daniel Beck

Respuestas:

10

Las launchdanulaciones de trabajo por usuario (por ejemplo, qué trabajos por usuario están deshabilitados para un usuario) se encuentran en subdirectorios de /private/var/db/launchd.db/, por ejemplo com.apple.launchd.peruser.501.

Abra la Terminal y vea quién posee este directorio:

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

Si el propietario (tercera columna) no es un nombre de usuario, sino una identificación numérica, ese usuario ya no existe en su sistema.

Simplemente puede eliminar ese directorio y terminar con él. Si hay reglas especiales en el overrides.plist, podría ayudarlo a comprender el origen de ese usuario y los trabajos iniciados.


Para saber cuándo launchdse creó ese directorio por usuario, ingrese

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

Es la última (cuarta) fecha impresa.


Para buscar todos los archivos en su sistema que no sean propiedad de un usuario conocido, ingrese

find / -nouser -ls

Si 32697no es un usuario en su sistema (sin nombre de usuario), esto podría brindarle cierta información (por ejemplo, los archivos relacionados con una aplicación particular que instaló podría significar que la aplicación se equivocó con su configuración de usuario)

Daniel Beck
fuente
"Las anulaciones de trabajos lanzados por usuario (por ejemplo, qué trabajos por usuario están deshabilitados para un usuario) se encuentran en subdirectorios de /private/var/db/launchd.db/, por ejemplo, com.apple.launchd.peruser.501". ¿Puede explicar esto? ¿Alguna documentación sobre las anulaciones de trabajo iniciadas?
nick2k3
@nick From man launchctl: -w Invalida la tecla Disabled y la establece en false. En versiones anteriores, esta opción modificaría el archivo de configuración. Ahora el estado de la clave Disabled se almacena en otro lugar en el disco. . /.../launchd.dbes "en otro lugar". Si fuerza la carga / descarga de un trabajo por usuario, no modifica el archivo utilizado por todas las cuentas (sería una estupidez imponer sus preferencias a otros en un sistema multiusuario). Y ese directorio es donde se almacenan, pero solo si está personalizado (por ejemplo, ejecutar un trabajo deshabilitado por defecto o viceversa). No es realmente una preferencia vital.
Daniel Beck
Ok, muchas gracias por tu explicación!
nick2k3
66
Además de eliminar el directorio, usted querrá matar la tarea de 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
Gracias Doug, el último conjunto de tres comandos detiene la ejecución constante de ese comando.
ConstantineK