Уже пару дней я читаю эти ошибки в системном журнале.
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
? Каковы дочерние элементы?launchctl
было бы интересно, хотя.Ответы:
Для каждого пользователя
launchd
переопределяют задания (например , которые для каждого пользователя задания отключены для пользователя) расположены в подкаталогах/private/var/db/launchd.db/
, напримерcom.apple.launchd.peruser.501
.Откройте Терминал и посмотрите, кому принадлежит этот каталог:
Если владельцем (третий столбец) является не имя пользователя, а числовой идентификатор, то этот пользователь больше не существует в вашей системе.
Вы можете просто удалить этот каталог и покончить с этим. Если есть специальные правила
overrides.plist
, это может помочь вам понять происхождение этого пользователя и запущенные задания.Чтобы узнать, когда
launchd
был создан этот каталог для каждого пользователя, введитеЭто последняя (четвертая) дата.
Чтобы найти все файлы в вашей системе, которые не принадлежат известному пользователю, введите
Если
32697
в вашей системе нет пользователя (нет имени пользователя), это может дать вам некоторую информацию (например, файлы, относящиеся к конкретному приложению, которое вы установили, могут означать, что приложение перепутано с вашими настройками пользователя)источник
man launchctl
: -w Переопределяет ключ Disabled и устанавливает его в значение false. В предыдущих версиях этот параметр изменял файл конфигурации. Теперь состояние ключа Disabled хранится в другом месте на диске. ,/.../launchd.db
это "в другом месте". Если вы принудительно загрузите / выгрузите задание для пользователя, оно не изменит файл, используемый всеми учетными записями (было бы глупо навязывать свои предпочтения другим пользователям в многопользовательской системе). И в этом каталоге они хранятся вместо этого, но только если они настроены (например, выполняется отключенное по умолчанию задание или наоборот). Это не совсем жизненное предпочтение.sudo launchctl stop com.apple.launchd.peruser.32697
,sudo launchctl unload com.apple.launchd.peruser.32697
,sudo launchctl remove com.apple.launchd.peruser.32697