रिबूट किए बिना लॉन्च एक्स ओएस को कैसे पुनः आरंभ करें?


14

जब मैं ज़ोटेरो / फ़ायरफ़ॉक्स चलाता हूं, तो वे अक्सर दुर्घटनाग्रस्त हो जाते हैं और मैं ज़ोंबी प्रक्रियाओं से बच जाता हूं; इसके बाद मैं Zotero या Firefox के नए उदाहरण नहीं खोल सकता। मैं रिबूट करने के बजाय इन ज़ोंबी प्रक्रियाओं से छुटकारा पाना चाहता हूं, इसलिए <pid>ज़ोंबी प्रक्रिया के लिए,

$ ps -p <pid> -o ppid=

मुझे देता है <parent_pid>और

ps aux | awk -v PID=<parent_pid> '$2 == PID {print $0}'

मुझे बताता है कि मूल प्रक्रिया /sbin/launchdउपयोगकर्ता के लिए है crippledlambda

क्या मेरे सिस्टम को मारे बिना इसे पुनः आरंभ करने का कोई तरीका है?

sudo kill -1 <parent_pid>

कुछ नहीं करता। मैंने इसे एक स्क्रिप्ट में लिखने और इसके साथ चलने की कोशिश की है sudo:

for i in `launchctl list | grep launchd | awk -v PID=<parent_pid> '$1==PID { print $NF }'`; do `launchctl stop $i && launchctl start $i` ; done

और यह स्पष्ट रूप से (?) मुझे एक गैर-जिम्मेदार ग्रे स्क्रीन के साथ छोड़ देता है, इसलिए मुझे वैसे भी रिबूट करना होगा। आपके सुझाव के लिए अग्रिम धन्यवाद।


आप खुद बचे हुए प्रक्रियाओं के बजाय लॉन्चड को क्यों मार रहे हैं? लॉन्चड उपयोगकर्ता सत्र का एक मुख्य हिस्सा है; यहां तक ​​कि अगर आप इसे पुनः आरंभ कर सकते हैं, तो नया उदाहरण उन सभी अन्य प्रक्रियाओं का जनक नहीं होगा जिनके लिए यह जिम्मेदार है ... फाइंडर, डॉक आदि जैसी चीजें
गॉर्डन डेविसन

@ गोर्डन, आप ज़ोंबी प्रक्रियाओं को नहीं मार सकते, इसलिए आपको माता-पिता के बाद जाना होगा, जब तक कि मैं कुछ याद नहीं कर रहा हूं।
हैमेट्रिक्स

क्या वे सच्ची लाश हैं (यानी ऐसी प्रक्रियाएं जो बाहर निकल चुकी हैं, लेकिन जिनकी निकास स्थिति नहीं पढ़ी गई है)? यदि वे हैं, तो कुछ बहुत गहरा गलत है, क्योंकि launchdहमेशा अपने बच्चों के बाहर निकलने की स्थिति को तुरंत पढ़ना चाहिए। यदि वे वास्तव में लाश नहीं हैं, तो आपको उन्हें मारना चाहिए। किसी भी मामले में, हत्या launchdसे समस्या हल होने वाली है।
गॉर्डन डेविसन

जवाबों:


17

डेमॉन को रोकने और शुरू करने का उचित तरीका लॉन्चिंगल अनलोड है

उदाहरण के लिए:

आप का उपयोग कर एक प्रक्षेपण डेमॉन सेवा बंद कर सकते अनलोड की subcommand launchctl

$ sudo launchctl unload /System/Library/LaunchDaemons/<daemon name>.plist

एक निष्क्रिय या बंद लॉन्च डेमॉन शुरू करने के लिए:

$ sudo launchctl load /System/Library/LaunchDaemons/<daemon name>.plist

★ लॉन्च डेमॉन को लापरवाही से निष्क्रिय करने से सावधान रहें - विशेष रूप से आधिकारिक ऐप्पल वाले; जब तक आप सुरक्षित मोड में शुरू नहीं करते हैं और मैन्युअल रूप से उन्हें फिर से सक्षम करते हैं, तब तक यह संभवतः आपके सिस्टम को अनबूटेबल बना सकता है। आप एक लॉन्चर को सामान्य प्रक्रिया की तरह नहीं मार सकते क्योंकि यह आपके सिस्टम को संभावित रूप से मार सकता है जैसे आपने अनुभव किया है।

> यहाँ लांचक्ट पर अधिक जानकारी । (ऐप्पल लॉंचल मैन पेज)


क्षमा करें, वह है com.apple.bsd.launchdadd.plist? मैं launchdबिल्कुल नहीं देख रहा हूँ । और चेतावनी के लिए धन्यवाद ...
हाटमैट्रिक्स

भविष्य के संदर्भ के लिए, ये कमांड भी काम करते हैं scrun simctl spawn <sim_id> sudo launchctl unload …। प्लिस्ट फाइलें निम्न हैं$(xcode-select -p)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/LaunchDaemons/
लियो नाटन

3

लॉन्च मैन पेज से:

आप सीधे लॉन्च नहीं कर सकते।

इसलिए यदि आप इसे रोक सकते हैं तो भी आप इसे शुरू नहीं कर पाएंगे, तो इसका उत्तर यह है कि कोई रास्ता नहीं है।


1
क्यों होता है पतन? मेरी पोस्ट सही तरीके से पूछे गए प्रश्न का उत्तर देती है। दी गई अन्य पोस्ट अधिक रचनात्मक है लेकिन यह वास्तव में पोस्ट के शीर्षक के अनुसार वास्तविक प्रश्न का उत्तर देने में विफल है!
ostergaard

अन्य पोस्ट प्रश्न का उत्तर देता है।
DavidPostill

2
नहीं, ऐसा नहीं है, यह कहता है कि डेमॉन को फिर से शुरू नहीं करना है।
ostergaard

3
योग्य - और यह वह रवैया है, जो सटीकता अब मायने नहीं रखती है, जो एसओ पर गुणवत्ता में धीमी गिरावट की व्याख्या करती है। नववर्ष की शुभकामना!
13 दिसंबर को

1
बहुत बुरा मैं टिप्पणियों को कम नहीं कर सकता। इतना ही नहीं कि यह उत्तर सही है, अन्य उत्तर वास्तव में प्रश्न को संबोधित करने में विफल रहता है। यह लॉन्चिंग द्वारा शुरू किए गए डेमोंस के बारे में नहीं है, लेकिन जब एक अनुत्तरदायी प्रक्रिया को जबरन समाप्त कर दिया गया है, तो लॉन्चिंग द्वारा विरासत में मिली ज़ोंबी प्रक्रियाएं। मेरे पास एक ही समस्या है और इसे मारने के लिए कोई खूनी डेमॉन नहीं है क्योंकि यह एक ब्राउज़र है जो लॉन्च में दोषपूर्ण व्यवहार को ट्रिगर करता है। "जो कुछ भी" के साथ मेरे खून को उबालने का जवाब मिलता है, वही लोग जिन्होंने उत्तर को उपयोगी पाया है, पहली बार में प्रश्न को समझने में असफल रहे और यह परिमाण के क्रम से भी बदतर है।
साल्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.