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? Каковы дочерние элементы?
— Даниэль Бек

вывод touch foo; судо чоун 32697 фу; ls -l foo is: 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 Переопределяет ключ Disabled и устанавливает его в значение 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
— Дуг Харрис

Благодаря Дагу, последний набор из трех команд не позволяет этой команде работать постоянно.
— КонстантинK
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.