सवाल com.apple.launchd: com.apple.launchd.peruser त्रुटि


यह कुछ दिनों से रहा है मैं सिस्टम लॉग फ़ाइल में इन त्रुटियों को पढ़ रहा हूं।

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

मेरे पास ओएसएक्स शेर 10.7.2 है।
ये संदेश हर कुछ सेकंड में खत्म हो जाते हैं, मैंने getpwuid () को गोगल किया है और ऐसा लगता है कि यह एक सिस्टम कॉल है।
मैंने इस मुद्दे के बारे में कुछ सुपरसियर पोस्ट भी पढ़े हैं:
https://superuser.com/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    

इसके बाद इस तरह के संदेश (वास्तव में) हैं।

क्या किसी के पास कोई इशारा है?


13
2017-11-25 20:44


मूल


क्या आपने हाल ही में अपनी मशीन से उपयोगकर्ता खाता हटा दिया था? जब आप टर्मिनल खोलते हैं और दर्ज करते हैं तो क्या होता है touch foo ; sudo chown 32697 foo ; ls -l foo? - Daniel Beck♦
के संभावित डुप्लिकेट मैं अपने लॉग में com.apple.launchd.peruser त्रुटियों से कैसे छुटकारा पा सकता हूं? - Daniel Beck♦
का उत्पादन क्या है sudo launchctl bstree -j, इसमें एक रेखा है com.apple.launchd.peruser.32697? बाल तत्व क्या हैं? - Daniel Beck♦
टच फू का उत्पादन; sudo chown 32697 foo; ls -l foo है: स्पर्श: foo: अनुमति अस्वीकार कर दी गई और फिर: -rw-r-r-- 1 32697 कर्मचारी 0 26 नवंबर 11:55 foo - nick2k3
ठीक है, ताकि उपयोगकर्ता आईडी आपके सिस्टम पर मौजूद न हो। launchctl हालांकि दिलचस्प होगा। - Daniel Beck♦


जवाब:


प्रति-उपयोगकर्ता 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 आपके सिस्टम पर कोई उपयोगकर्ता नहीं है (उपयोगकर्ता नाम नहीं), यह आपको कुछ जानकारी दे सकता है (उदाहरण के लिए आपके द्वारा इंस्टॉल किए गए किसी विशेष एप्लिकेशन से संबंधित फाइलों का मतलब यह हो सकता है कि एप्लिकेशन आपकी उपयोगकर्ता सेटिंग्स से गड़बड़ हो)


10
2017-11-27 10:18



"प्रति उपयोगकर्ता लॉन्च की गई नौकरी ओवरराइड (उदा। उपयोगकर्ता के लिए प्रति उपयोगकर्ता नौकरियां अक्षम हैं) /private/var/db/launchd.db/ की उपनिर्देशिकाओं में स्थित हैं, उदाहरण के लिए com.apple.launchd.peruser.501।" क्या आप इसे समझा सकते हैं? लॉन्च जॉब ओवरराइड पर कोई दस्तावेज? - nick2k3
@ से निक man launchctl: -w अक्षम कुंजी को ओवरराइड करता है और इसे गलत पर सेट करता है। पिछले संस्करणों में, यह विकल्प कॉन्फ़िगरेशन फ़ाइल को संशोधित करेगा। अब अक्षम कुंजी की स्थिति कहीं और डिस्क पर संग्रहीत की जाती है।। /.../launchd.db "कहीं और" है। यदि आप प्रति उपयोगकर्ता नौकरी लोड / अनलोड करते हैं, तो यह सभी खातों द्वारा उपयोग की जाने वाली फ़ाइल को संशोधित नहीं करता है (बहु-उपयोगकर्ता प्रणाली पर दूसरों पर आपकी वरीयताओं को लागू करने के लिए बेवकूफ होगा)। और वह निर्देशिका वह जगह है जहां वे बदले जाते हैं, लेकिन केवल तभी अनुकूलित किया जाता है (उदा। डिफ़ॉल्ट नौकरी या इसके विपरीत अक्षम अक्षम)। यह वास्तव में एक महत्वपूर्ण वरीयता। - Daniel Beck♦
ठीक है, आपकी व्याख्या के लिए बहुत बहुत धन्यवाद! - nick2k3
निर्देशिका को हटाने के अलावा, आप लॉन्च से नौकरी को मारना चाहेंगे - 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 Harris
धन्यवाद डौग, तीन आदेशों का अंतिम सेट उस आदेश को लगातार चलने से रोकता है। - ConstantineK