几天以来,我一直在系统日志文件中读取这些错误。
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(),它似乎是一个系统调用。
我还阅读了一些关于此问题的超级用户帖子:
https://superuser.com/search?q=com.apple.launchd.peruser
但是在控制台中运行报告的命令并没有给我任何关于如何解决此问题的提示。
我将此错误首次出现的时间追溯到 11 月 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
在此之后,确实有大量此类消息。
有人有任何提示吗?
答案1
每个用户的launchd
作业覆盖(例如,为用户禁用每个用户的哪些作业)位于 的子目录中/private/var/db/launchd.db/
,例如com.apple.launchd.peruser.501
。
打开终端并查看谁拥有此目录:
ls -ld /private/var/db/launchd.db/com.apple.launchd.peruser.32697
如果所有者(第三列)不是用户名而是数字 ID,则该用户不(不再)存在于您的系统中。
您只需删除该目录即可。如果 中有特殊规则overrides.plist
,它可能会帮助您了解该用户和启动的作业的来源。
要了解launchd
每个用户目录的创建时间,请输入
stat /private/var/db/launchd.db/com.apple.launchd.peruser.32697
这是打印的最后一个(第四个)日期。
要查找系统上不属于已知用户的所有文件,请输入
find / -nouser -ls
如果32697
不是您系统上的用户(没有用户名),这可能会给您提供一些信息(例如,与您安装的特定应用程序相关的文件可能意味着该应用程序弄乱了您的用户设置)