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
하지만 날이 문제를 해결하는 방법에 대한 힌트를 준하지 않은 콘솔에서보고 명령을 실행 .

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    

그 후에 이런 종류의 메시지가 (실제로) 많이 있습니다.

누구든지 힌트가 있습니까?


최근에 컴퓨터에서 사용자 계정을 삭제 했습니까? 터미널을 열고 입력하면 어떻게됩니까 touch foo ; sudo chown 32697 foo ; ls -l foo?
Daniel Beck


의 출력 무엇인가 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 월 11:55 foo
nick2k3

시스템에 사용자 ID가 존재하지 않도록하십시오. 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

소유자 (3 번째 열)가 사용자 이름이 아니라 숫자 ID 인 경우 해당 사용자는 시스템에 더 이상 존재하지 않습니다.

해당 디렉토리를 제거하고 완료하면됩니다. 에 특별한 규칙이있는 경우 overrides.plist해당 사용자의 출처와 실행 된 작업을 이해하는 데 도움이 될 수 있습니다.


해당 launchd사용자 별 디렉토리가 작성된 시기를 알려 면 다음을 입력하십시오.

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

인쇄 된 마지막 (4 번째) 날짜입니다.


시스템에서 알려진 사용자가 소유하지 않은 모든 파일을 찾으려면 다음을 입력하십시오.

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
- 디렉토리를 제거하는 이외에, 당신은 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는 마지막 세 명령 세트로 인해 해당 명령이 계속 실행되지 않습니다.
ConstantineK
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.