পুনরায় বুট না করে কীভাবে লঞ্চ করা ওএস এক্স পুনরায় চালু করবেন?


13

আমি যখন জোটেরো / ফায়ারফক্স চালাচ্ছি, তারা প্রায়শই ক্র্যাশ হয়ে যায় এবং আমি জম্বি প্রক্রিয়াগুলি নিয়েই চলে যাই; এর পরে আমি জোটেরো বা ফায়ারফক্সের নতুন উদাহরণ খুলতে পারি না। আমি রিবুট করার চেয়ে এই জম্বি প্রক্রিয়াগুলি থেকে মুক্তি পেতে চাই, তাই <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ফলে এটি সমাধানের চেয়ে আরও বেশি সমস্যা তৈরি করতে চলেছে।
গর্ডন ডেভিসন

উত্তর:


16

ডেমনগুলি থামাতে এবং শুরু করার সঠিক উপায় হ'ল লঞ্চাক্টল আনলোড

উদাহরণ স্বরূপ:

ব্যবহার করে আপনি একটি লঞ্চ ডেমন সেবা বন্ধ করতে পারবেন আন এর subcommand launchctl

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

অক্ষম বা বন্ধ হওয়া লঞ্চ ডেমন শুরু করতে:

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

Launch লঞ্চ ডেমনগুলি অচল করে অক্ষম করার বিষয়ে সাবধানতা অবলম্বন করুন - বিশেষত সরকারী অ্যাপলগুলি; আপনি নিরাপদ মোডে শুরু না করা এবং ম্যানুয়ালি এগুলি পুনরায় সক্ষম করার আগ পর্যন্ত এটি আপনার সিস্টেমটিকে সম্ভবত বুট করার যোগ্য করে তুলতে পারে। আপনি একটি সাধারণ প্রক্রিয়ার মতো একটি লঞ্চক্টল মারবেন না কারণ এটি আপনার সিস্টেমে অভিজ্ঞতার মতো আপনার সম্ভাবনাটিকে হত্যা করতে পারে ।

> লঞ্চক্টেলটিতে আরও তথ্য এখানে । (অ্যাপল লঞ্চাক্টেল ম্যান পৃষ্ঠা)


দুঃখিত, তাই না com.apple.bsd.launchdadd.plist? আমি launchdঠিক দেখতে পাচ্ছি না । এবং সতর্কতার জন্য ধন্যবাদ ...
হ্যাটম্যাট্রিক্স

ভবিষ্যতের রেফারেন্সের জন্য, এই আদেশগুলি সাথে কাজ করে scrun simctl spawn <sim_id> sudo launchctl unload …। Plist ফাইল অধীনে আছে$(xcode-select -p)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/LaunchDaemons/
লিও Natan

1

চালু ম্যান পৃষ্ঠা থেকে:

আপনি সরাসরি আরম্ভ করতে পারেন না।

অতএব আপনি এটি বন্ধ করতে পারলেও আপনি এটি শুরু করতে সক্ষম হবেন না তাই উত্তরটি হ'ল কোনও উপায় নেই।


ডাউনটা কেন? আমার পোস্ট জিজ্ঞাসিত প্রশ্নের সঠিক উত্তর দেয়। অনুমোদিত অন্য পোস্টটি আরও গঠনমূলক তবে এটি পোস্টের শিরোনাম অনুযায়ী প্রকৃত প্রশ্নের উত্তর দিতে ব্যর্থ হয়েছে!
অস্টগার্ড

অন্য পোস্টটি প্রশ্নের উত্তর দেয়।
ডেভিডপস্টিল

1
না এটি হয় না, এটি জানায় যে কীভাবে ডেমোনগুলি আরম্ভ করা যায় না।
ostergaard

{শ্রাগ} যাই হোক না কেন। ডাউনভোটদের সম্পর্কে কোনও অভিযোগই গঠনমূলক নয়। স্পষ্টতই লোকেরা মনে করে যে আপনার উত্তর কার্যকর নয়।
ডেভিডপস্টিল

2
হাহাকার - এবং এটি সেই মনোভাব, সেই নির্ভুলতা আর গুরুত্বপূর্ণ নয়, এটি এসওয়ের গুণমানের ধীরে ধীরে হ্রাসকে ব্যাখ্যা করে। শুভ নব বর্ষ!
ostergaard
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.