কম হিংস্র কিল সংকেত -HUP (1) -INT (2) এবং -TERM (15) এর মধ্যে পার্থক্য


32

সর্বাধিক হিংস্র kill -9(সিগ্কিল) বাদে আমি অন্য 3 টি সাধারণ সিগন্যালের ( এখানে ) -HUP(1), -INT(2) এবং -TERM(15) এর মধ্যে পার্থক্যটি বেশ বুঝতে পারি না ।

কোন পরিস্থিতিতে একটি কাজ করবে এবং অন্যটি কাজ করবে না?

সাধারণত কখন -9( -KILL) ব্যর্থ হয়?

আমার কাছে তারা প্রক্রিয়া জিজ্ঞাসা করতে বিনষ্ট হবে বলে মনে হচ্ছে অত্যন্ত শৃঙ্খলার , সংরক্ষণ না করে । কঠোরতা রেটিং, আমি রাখা হবে -HUP < -TERM < -INT < -KILL


HUPঅগত্যা মানে এই নয় যে প্রোগ্রামটি বন্ধ হবে। কিছু প্রোগ্রাম SIGHUPকনফিগারেশন ফাইলগুলি পুনরায় লোড করতে ব্যবহার করে। SIGKILLপ্রক্রিয়া নিরবচ্ছিন্ন ঘুমের মধ্যে ব্যর্থ হয় বা বরং স্থগিত করা হয় ।
মুরু

উত্তর:


52

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

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

স্বাক্ষর হ'ল লটের "দুর্বলতম"। এর প্রচলিত অর্থ হ'ল "আপনি এখন যা করছেন তা বন্ধ করুন এবং আরও ব্যবহারকারী ইনপুটটির জন্য অপেক্ষা করুন"। এটি টার্মিনালে Ctrl+ দ্বারা উত্পাদিত সিগন্যাল C। অ-ইন্টারেক্টিভ প্রোগ্রামগুলি সাধারণত এটি SIGTERM এর মতো আচরণ করে।

সিগনটার্ম হ'ল "সাধারণ" কিল সংকেত। এটি অ্যাপ্লিকেশনটিকে পরিষ্কারভাবে প্রস্থান করতে বলে। অ্যাপ্লিকেশনটির রাজ্য বাঁচাতে, অস্থায়ী ফাইলগুলির মতো নিখরচায় ফাইলগুলি যা অন্যথায় পিছনে থাকবে ইত্যাদি ক্ষেত্রে সময় নিতে পারে etc. ইত্যাদি a

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

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


আপনি কি "তাদের অবস্থা সংরক্ষণ করুন" সম্পর্কে আরও বিস্তারিত বর্ণনা করতে পারেন? আমি যদি কোনও পাঠ্য সম্পাদক এ থাকি এবং আমি এটি হত্যা করি তবে আমি অনুমান করি যে সামগ্রীটি সংরক্ষণ করা হয়নি।
কেনি

2
@ কেনি বেশিরভাগ সম্পাদক ফাইলটি সংরক্ষণ করতে পারবেন না, কারণ আপনি হয়ত অস্থায়ী পরিবর্তন করেছেন যা আপনি সংরক্ষণের ইচ্ছা করেন নি। উন্নত সম্পাদক (যেমন vi, ইমাস) এর একটি অটো-সেভ ফাইল থাকে যেখানে তারা সময়ে সময়ে ডেটা সংরক্ষণ করে; SIGHUP এ তারা সাধারণত নিশ্চিত করে যে অটো-সেভ ফাইলটি আপ টু ডেট।
গিলস'স'- দুষ্ট হওয়া বন্ধ করুন '
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.