কাঁটা বোমার পরে পরিষ্কার করার সর্বোত্তম উপায় কী?


21
$ ls
bash: no more processes

আহ ওহ. দেখে মনে হচ্ছে কেউ কাঁটাচামচ তৈরি করেছে। আমি যেখানে কাজ করতাম, এটির বেশিরভাগ অর্থ হ'ল ভাগ করা সার্ভারটি পাওয়ার-সাইকেল চালানো দরকার, যেহেতু মূলযুক্ত সিস্টডমিনগুলিও প্রায়শই সমস্যাটি পরিষ্কার করতে পারে না। প্রায়শই তারা প্রম্পটও পেতে পারেনি।

আমি কয়েকটি কৌশল শুনেছি (উল্লেখযোগ্যভাবে, কেআইএলএল সিগন্যালের চেয়ে স্টপ সিগন্যাল প্রেরণ করার জন্য, যেহেতু পরের অংশটি বাকি থ্রেডগুলিকে অবিলম্বে নিহতদের প্রতিস্থাপনের অনুমতি দেয়), তবে আমি এরকম একটি বিস্তৃত গাইড দেখিনি , তাই আপনি নিজেই আছেন একটি কাঁটাচামচ বোমা?

একটি তৈরি করা যাক।

উত্তর:


10

ইউলিমিট ব্যবহার করে প্রতি ব্যবহারকারী প্রসেসের সীমাবদ্ধতার সাথে প্রক্রিয়া সীমাটি ক্লান্ত করা থেকে কাঁটাচামচ বোমা আটকাতে হবে

এই পদ্ধতিতে, একক ব্যবহারকারীর সিস্টেমের সীমা পৌঁছানোর অনেক আগেই তাদের প্রক্রিয়া কোটা শেষ করে দেবে।


6

প্রথমে চেষ্টা করার চেষ্টাটি হ'ল লগআউটে লগ ইন করা ব্যবহারকারীদের পাওয়া। এটি সম্ভব যে তাদের শেলটি সমস্ত কাঁটাচামচ করা প্রক্রিয়াটির পিতামাতার প্রক্রিয়া হতে পারে এবং এর ফলে সমস্যাটি শেষ হতে পারে।

যদি এটি কাজ না করে, আপনি kill -STOP -2রুট ব্যতীত অন্য কোনও ব্যবহারকারী হিসাবে চলমান সমস্ত প্রক্রিয়া হিম করতে রুট হিসাবে চালানোর চেষ্টা করতে পারেন । যদি এটি কাজ করে, তবে আপনি kill -CONT <pid>কাঁটা বোমার সাথে সম্পর্কিত নয় এমন কিছু পরিচিত প্রক্রিয়া অদলবদল করতে এবং সম্পূর্ণ প্রক্রিয়া টেবিলের সমস্যাটি দূর করতে তাদের হত্যা করতে পারেন এবং সমস্যার মূল উত্সটি খুঁজে বের করতে এবং হত্যা করার জন্য আপনাকে কিছু শ্বাসকষ্ট দিতে পারেন room সেন্ডমেল হত্যার জন্য সিস্টেম প্রক্রিয়াটির একটি ভাল উদাহরণ হতে পারে কারণ পিড সনাক্ত করতে .pid ফাইলটি ব্যবহার করে সনাক্ত করা সহজ হবে। উদাহরণস্বরূপ kill -CONT $(< /var/run/sendmail.pid); kill $(< /var/run/sendmail.pid),।


হত্যার জন্য কোন ওএস আপনি "-2" বিকল্প দেখেন? আমি এটি লিনাক্সের ম্যান পেজে দেখতে পাচ্ছি না।
raldi

1
আপনি পিডের জন্য একটি নেতিবাচক মান নির্দিষ্ট করে দিলে এটি বেশিরভাগ ওএসের ক্ষেত্রে কাজ করা উচিত। যদি <pid> -1 এর চেয়ে কম হয়, তবে প্রসেস গ্রুপে প্রতিটি প্রক্রিয়াতে কিল পাঠানো হয় - <পিড>। পিড -২ এ এক স্টপ স্টপ প্রেরণ করা সমস্ত প্রক্রিয়াগুলি বন্ধ করে দেওয়া উচিত যা বিশেষ সিস্টেম প্রক্রিয়া বা মূল মালিকানাধীন প্রক্রিয়া নয়।

একটি "নেতিবাচক পিড" হত্যার জন্য কিল (2) ম্যানপেজ দেখুন, তবে আমি এখনও এটি বিশ্বাস করি না। সমস্ত নন-ইন-প্রক্রিয়া কেন গ্রুপ 2 এ থাকবে? আমি বুঝতে পেরেছি যে আপনি
আরআইডি

প্রিমিয়াম, 2 একটি প্রক্রিয়া গ্রুপ আইডি হতে খুব কম তাই সম্ভবত এটি অন্য একটি বিশেষ মান।
জোশডসন

@Joshua আছে পাশে কোন বিশেষ মান 0এবং -1অনুযায়ী opengroup.org/onlinepubs/009695399/functions/kill.html opengroup.org/onlinepubs/000095399/utilities/kill.html
ephemient

3

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

আপনি কি প্রতি ব্যবহারকারী প্রক্রিয়া সীমাবদ্ধতার সাথে কেবল প্রয়োগ করার কথা বিবেচনা করেছেন ulimit? এটি আপনার ব্যবহারকারীদের কাঁটাচামচ বোমা চালাতে বাধা দিতে পারে (দুর্ঘটনাক্রমে বা না)।


3
কিল অন্তত অন্তর্নির্মিত, একটি শেল অন্তর্নির্মিত।
raldi

1
আমি মনে করি এটি একটি মূল উপাদান - আপনার পছন্দসই শেলের জন্য বিল্টিনগুলি সনাক্ত করুন।

2
যদি এটি অন্তর্নির্মিত না হয় আপনি "এক্সিকিউট কিল পিআইডি" চালাতে পারেন, যা কাঁটাচামচ করে না। তবে এটি ঝুঁকিপূর্ণ, যদি এটি কাজ না করে তবে আপনি অন্য শেলটি পেতে সক্ষম নাও হতে পারেন। এটিকে সিস্টেম প্রশাসনের কাছে মৌমাছির স্টিং অ্যাপ্রোচ হিসাবে ভাবেন!
স্টিফেন ডার্লিংটন

2

কিছু বিএসডি সিস্টেমে মূলের জন্য শেষ 5 বা তাই প্রক্রিয়াগুলি সংরক্ষণ করার ক্ষমতা থাকে। হয়তো আপনার সিস্টেমে সেই ক্ষমতা আছে।


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