com.apple.launchd: помилка com.apple.launchd.peruser


13

Минуло пару днів, коли я читаю ці помилки у файлі системного журналу.

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

У мене OSX Lion 10.7.2.
Ці повідомлення проходять раз і знову кожні кілька секунд, я переглядаю getpwuid () і, здається, це системний виклик.
Я також прочитав декілька публікацій про цю проблему:
/superuser//search?q=com.apple.launchd.peruser,
але виконання повідомлених команд у консолі не дало мені підказки щодо вирішення цієї проблеми. .

Я простежив першу появу цієї помилки до 20 листопада, ось попередні рядки файлу 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    

Після цього з’являються (справді) тонни подібних повідомлень.

У когось є підказки?


Ви нещодавно видалили обліковий запис користувача зі свого комп'ютера? Що відбувається, коли ви відкриваєте термінал і входите touch foo ; sudo chown 32697 foo ; ls -l foo?
Даніель Бек


Що таке вихід sudo launchctl bstree -j, чи містить він рядок com.apple.launchd.peruser.32697? Які дочірні елементи?
Даніель Бек

вихід дотику foo; sudo chown 32697 foo; ls -l foo є: touch: foo: Дозвіл відхилено, а потім: -rw-r - r-- 1 32697 співробітників 0 26 листопада 11:55 foo
nick2k3

Гаразд, щоб ідентифікатор користувача не існував у вашій системі. launchctlБуло б цікаво, хоча.
Даніель Бек

Відповіді:


10

Перевірки launchdзавдань для кожного користувача (наприклад, які завдання для користувача відключені для користувача) розташовані у підкаталогах /private/var/db/launchd.db/, наприклад com.apple.launchd.peruser.501.

Відкрийте термінал і подивіться, хто є власником цього каталогу:

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

Якщо власник (третій стовпець) - це не ім’я користувача, а числовий ідентифікатор, цього користувача (у вас більше немає) у вашій системі.

Ви можете просто видалити цей каталог і зробити це з ним. Якщо в програмі є спеціальні правила overrides.plist, це може допомогти вам зрозуміти походження цього користувача та запущені завдання.


Щоб дізнатися, коли launchdстворено цей каталог для користувачів, введіть

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

Це остання (четверта) дата, надрукована.


Щоб знайти всі файли у вашій системі, які не належать відомому користувачеві, введіть

find / -nouser -ls

Якщо 32697у вашій системі не є користувач (немає імені користувача), це може дати вам деяку інформацію (наприклад, файли, пов’язані з певною програмою, яку ви встановили, це може означати, що програма змішується з вашими налаштуваннями користувача)


"Перевірки завдань для запуску користувача (наприклад, які завдання для користувача відключені для користувача) розташовані у підкаталогах /private/var/db/launchd.db/, наприклад, com.apple.launchd.peruser.501." ви можете пояснити це? будь-яка документація щодо запущених скасування завдань?
nick2k3

@nick From man launchctl: -w Переміщає ключ відключеного та встановлює значення false. У попередніх версіях ця опція змінює файл конфігурації. Тепер стан ключа Disabled зберігається в іншому місці на диску. . /.../launchd.dbє "в іншому місці". Якщо ви змушуєте завантажувати / вивантажувати завдання для кожного користувача, це не змінює файл, який використовуються всіма обліковими записами (було б нерозумно нав'язувати свої переваги іншим у багатокористувацькій системі). І в цьому каталозі вони замість них зберігаються, але лише в тому випадку, якщо вони налаштовані (наприклад, запущена інвалід за замовчуванням або навпаки). Це насправді не життєво важлива перевага.
Даніель Бек

Гаразд, дуже дякую за ваше пояснення!
nick2k3

6
У доповненні до видалення каталогу, ви хочете , щоб вбити роботу з запуску програм - sudo launchctl stop com.apple.launchd.peruser.32697, sudo launchctl unload com.apple.launchd.peruser.32697,sudo launchctl remove com.apple.launchd.peruser.32697
Дуг Харріс

Дякую Дугу, останній набір із трьох команд припиняє цю команду постійно виконуватись.
КонстантинК
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.