আমি কীভাবে একটি চলমান অ্যাপ্লিকেশন হাইবারনেট করতে পারি?


16

উদাহরণ ব্যবহারের ক্ষেত্রে:

আমি বেশ কয়েকটি ট্যাব খোলা রেখে ক্রোমিয়াম চালিত করি এবং সিদ্ধান্ত নিয়েছি যে আমাকে পরবর্তী 20 মিনিটের জন্য অ্যাপ্লিকেশনটি অ্যাক্সেস করার দরকার নেই। ল্যাপটপের ব্যাটারির সময় সংরক্ষণ করার জন্য, আমি অ্যাপ্লিকেশনটি বন্ধ না করেই ক্রোমিয়ামকে হাইবারনেট (ফ্রিজ) করতে চাই (সমস্ত ট্যাব পুনরায় খোলার এবং পুনরায় লোড করার জন্য এমন সময় প্রয়োজন যা আমি এটি হাইবারনেট করে সংরক্ষণ করতে চাই)।


1
দ্বিতীয় উত্তরটি এখানে চেক করুন: stackoverflow.com/questions/2134771/… । বিষয়টি হ'ল ক্রোমিয়ামটি অনেকগুলি পিআইডি ব্যবহার করছে এবং আপনি যখনই এটি খুলছেন ততবার এটি আলাদা হয় ... তবে প্রধানটি (প্রক্রিয়া পরিচালকের মূল আইকন সহকারে) বন্ধ করা ভাল বলে মনে হচ্ছে।
গ্রেগডিডি

1
আপনি যদি কেবল ক্রোমিয়ামের বিষয়ে চিন্তা করেন এবং অন্য কোনও অ্যাপ্লিকেশন না করে, আপনি ট্যাব পরিচালনার জন্য তৈরি করা ক্রোমিয়াম এক্সটেনশন ব্যবহার করতে পারেন, যেমন ওয়ানটাব বা সেশন বাডি
মোশে কাটজ

আপনাকে ধন্যবাদ তবে আমি killallসমাধানটি সত্যই মার্জিত দেখতে পাই । :)
orschiro

উত্তর:


22

প্রদত্ত নামের সাথে মিলে যায় এমন সমস্ত প্রক্রিয়াতে সংকেত killallপ্রেরণের জন্য আপনি কমান্ডটি ব্যবহার করতে পারেন এবং এগুলি আবার গলার জন্য একইভাবে SIGSTOPপ্রেরণ SIGCONTকরুন।

প্রথমে ব্যবহার করে প্রক্রিয়াটির নামটি সন্ধান করুন pgrep -l SEARCH_PATTERN:

$ pgrep -l chrom
13010 chromium-browse
13036 chromium-browse
13038 chromium-browse
13153 chromium-browse
13166 chromium-browse
13169 chromium-browse
13175 chromium-browse
13187 chromium-browse
13195 chromium-browse
13206 chromium-browse

মনে রাখবেন এটি দীর্ঘ নাম ছাঁটাই করবে, সুতরাং এটি rঅনুপস্থিত। তবে এটি কোনও সমস্যা নয় কারণ আপনি Tabপ্রক্রিয়াটির নাম লিখতে সম্পূর্ণরূপে ব্যবহার করতে পারেন যা এটি স্বয়ংক্রিয়ভাবে সম্পূর্ণ হবে।

তারপরে আপনি এই জাতীয় SIGSTOPনামের সমস্ত প্রক্রিয়ায় সিগন্যাল প্রেরণ করুন chromium-browser:

$ killall -s STOP chromium-browser 

ক্রোমিয়াম উইন্ডোটি ধূসর হয়ে যাবে যেন এটি প্রতিক্রিয়াবিহীন হয়ে পড়েছে। ঠিক আছে, এটি সত্যিই প্রতিক্রিয়াহীন হয়ে উঠেছে, সুতরাং এটি প্রত্যাশিত ছিল। আপনি এখন কোনওভাবে উইন্ডোটির সাথে ইন্টারঅ্যাক্ট করতে পারবেন না (উইন্ডো ম্যানেজার দ্বারা পরিচালিত মেনু বার এবং ছোট করা ইত্যাদি ব্যতীত) নিজেই অ্যাপ্লিকেশনটি নয়। ক্লিক বাটন ইত্যাদি থেকে ইভেন্টগুলি এখনও উত্পন্ন হয় এবং অ্যাপ্লিকেশন ইভেন্টের কাতারে যুক্ত হয়, সুতরাং যখন আপনি আবার অ্যাপ্লিকেশনটি গলা ফাটিয়েছেন তখন সেগুলি একবারে প্রক্রিয়া করা হবে!

আপনি কেবলমাত্র এই আদেশটি SIGCONTসুনির্দিষ্ট প্রক্রিয়াগুলিতে সংকেত প্রেরণ করে চালিয়ে আবার অ্যাপ্লিকেশন গলা :

$ killall -s CONT chromium-browser 

কখনও কখনও এইভাবে কোনও অ্যাপ্লিকেশনকে হিমায়িত করা এটিকে ক্র্যাশ করতে পারে, তাই নিশ্চিত হয়ে নিন যে কোনও অ্যাপ্লিকেশন হিম করার আগে গুরুত্বপূর্ণ জিনিসগুলি সংরক্ষণ করা হয়েছে।

বিরল ক্ষেত্রে এমনকি ডেস্কটপ পরিবেশ / উইন্ডো ম্যানেজার / অন্য যাই হোক না কেন প্রতিক্রিয়াহীন হয়ে উঠতে পারে। এই ক্ষেত্রে আপনাকে টিটিওয়াইয়ের মাধ্যমে হিমায়িত অ্যাপ্লিকেশনটি গলাতে হবে:

প্রেস Ctrl+ + Alt+ + F1TTY1 স্যুইচ। আপনাকে লগ ইন করতে বলা হবে, সুতরাং আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড লিখুন। তারপরে অ্যাপ্লিকেশনটি গলার জন্য কমান্ডটি চালান ঠিক একইভাবে আপনি এটি আপনার সাধারণ টার্মিনাল এমুলেটরের মাধ্যমে চালান। ডেস্কটপ (TTY7) যে সুইচ ফিরে ব্যবহার করার পর Ctrl+ + Alt+ + F7এবং আপনি জরিমানা আবার হওয়া উচিত।


4
আপনি যেহেতু শুরু করেছিলেন pgrep, আপনি তাই চালিয়ে যেতে পারতেনpkill
মুর্গু

1
অ্যাপ্লিকেশনটি ক্রাশ হওয়ার ঝুঁকিটি SIGSTOPবিদ্যমান থাকলেও আমি বলব এটি সামান্য minor আমি প্রায়শই এটি ক্রোমিয়ামে ব্যবহার করেছি এবং আমি মনে করি না যে এটি কখনও ক্রাশ হওয়ার কারণ।
ক্যাস্পার্ড

আমি এসএমটিজি নতুন শিখেছি! killall! ;-)
ফাব্বী

8

স্থগিত করার জন্য, চেষ্টা করুন: killall -SIGTSTP chromium-browser

যদি এটি কাজ না করে, জোরালো সংস্করণ চেষ্টা: killall -SIGSTOP chromium-browser

যেভাবেই হোক, ব্যবহার চালিয়ে যেতে killall -SIGCONT chromium-browser। আমি ফায়ারফক্সের সাথে চেষ্টা করেছি এবং এটি কার্যকর হয়েছে। তবে মনে রাখবেন যে আপনি যদি ক্রোমিয়ামের স্থগিতের সময় বোতামগুলিতে ক্লিক করেন তবে এটি কার্যকর হওয়ার পরে এটি স্টাফটি কার্যকর করবে।


3
সিগস্টপ / সিগকন্ট আমার পক্ষে কাজ করে, কেবল chromium-browserপ্রক্রিয়া নাম হিসাবে প্রবেশ করা দরকার । +1
গ্রেগডিডি

1
বা google-chromeযদি আপনি গুগল ক্রোম ব্যবহার করেন, যেহেতু পার্থক্যটি দৃশ্যত বিভ্রান্তিকর
বিড়াল

2

আপনি নিম্নলিখিতগুলি ব্যবহার করতে পারেন (একটি টার্মিনালে):

ps aux | grep gedit

তারপরে আপনি এরকম কিছু দেখতে পাবেন:

barend    7166  5.3  1.0 722620 39044 ?        Sl   16:19   0:00 gedit

7166 নম্বরটি লিখুন (বা এটি যে সংখ্যা হোক) এবং তারপর করুন:

kill -STOP 7166

এটি প্রক্রিয়া সম্পাদন স্থগিত করবে। এটি তত্ক্ষণাত এটির দ্বারা ব্যবহৃত মেমরিটি মুক্ত করবে না, তবে মেমরির অন্যান্য প্রসেসের প্রয়োজন হলে এটি উপলব্ধ হবে।

তাহলে কর

kill -CONT 7166 প্রোগ্রামের সাথে আবার কাজ করতে।

মনে রাখবেন যে উপযুক্ত যেখানে আপনার 7166 পরিবর্তন করতে হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.