কিল কমান্ড -9 বিকল্পের উদ্দেশ্য কী?


উত্তর:


28

উবুন্টু ম্যান পৃষ্ঠাটি স্যুইচটির killউদ্দেশ্য ব্যাখ্যা করে -9(স্বীকার করে বরং চপ্পল ফ্যাশনে):

Name     Num   Action    Description
KILL       9   exit      cannot be blocked

অন্য ম্যান পেজ কী বলে তা এখানে ।

কমান্ডটি killনির্দিষ্ট প্রক্রিয়া বা প্রক্রিয়া গোষ্ঠীতে নির্দিষ্ট সংকেত প্রেরণ করে। যদি কোনও সংকেত নির্দিষ্ট না করা হয় তবে TERMসংকেত প্রেরণ করা হয়। TERMসংকেত প্রসেস যা এই সংকেত ধরা না হত্যা করা হবে। অন্যান্য প্রক্রিয়াগুলির জন্য, KILL( 9) সিগন্যালটি ব্যবহার করা প্রয়োজন , যেহেতু এই সংকেতটি ধরা যায় না।


অতএব, -9সুইচটি ব্যবহার করে প্রক্রিয়াটি কার্যকরভাবে নিহত হওয়ার বিষয়টি নিশ্চিত করে। যদিও হিমশীতল বা প্রতিক্রিয়াহীন কোনও প্রক্রিয়া কোনও সাধারণ TERM সিগন্যালের প্রতিক্রিয়া না জানায় , সংকেত পাঠালে এটি মারা যায় KILL


40

হত্যা কমান্ড একটি নির্ধারিত পাঠাব সংকেত একটি প্রদত্ত পরিচয় (PID,) সহ একটি প্রক্রিয়া:

kill -<signal> <pid>

অবশ্যই আমরা কেবল আমাদের মালিকানাধীন প্রক্রিয়াগুলিকেই হত্যা করতে পারি, যেখানে মূলগুলি সমস্ত প্রক্রিয়াগুলিকে হত্যা করতে পারে। কম্পিউটিং সংকেতগুলির একটি দুর্দান্ত সংক্ষিপ্তসার জন্য উইকিপিডিয়া দেখুন ।

সিগন্যাল killপ্রেরণ করতে পারেন ম্যানপেজে তালিকাভুক্ত করা হয় । সিগন্যালটি নাম বা সংখ্যা দ্বারা উপস্থাপন করা যেতে পারে। যদি কোনও সংকেতকে ডিফল্ট সংকেত দেওয়া না হয় তবে 15 টি শ্রদ্ধা। TERMব্যবহৃত হয়.

নীচের সমস্ত তিনটি কমান্ড একইরকম:

kill -9 1234
kill -KILL 1234
kill -SIGKILL 1234

কোনও অ্যাপ্লিকেশন সিগন্যালে যেভাবে কাজ করতে পারে তার মধ্যে SIGTERMএবং SIGKILLতার মধ্যে পার্থক্য :

  • TERM: একটি অ্যাপ্লিকেশনটি সমাপ্ত করতে সক্ষম হবে, অর্থাৎ সঠিকভাবে শাটডাউন রুটিন চালাবে।
  • KILL: অ্যাপ্লিকেশনগুলি তত্ক্ষণাত বন্ধ হয়ে হত্যা করা হয় (যা ডেটা হারাতে বা কিছু ক্ষেত্রে অনুমিত ক্র্যাশের প্রতিবেদন উত্থাপন করতে পারে)।

16

নোট করুন যে নীচের সমস্তগুলি সমার্থক:

kill -9 1234
kill -KILL 1234
kill -SIGKILL 1234

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

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

অন্যান্য সংকেত যে অবরুদ্ধ করতে পারা যায় SIGSTOP যা অনুরূপ প্রভাব রয়েছে, কিন্তু এর পরিবর্তে স্থির প্রোগ্রাম; আপনি এটি পুনরায় শুরু করতে পরে সিগনকন্ট পাঠাতে পারেন । এই আচরণটি ওএস দ্বারা সম্পূর্ণরূপে নিয়ন্ত্রিত হয় এবং প্রোগ্রামটি পূর্বের কোনও বিজ্ঞপ্তি পায় না।

অন্যান্য সমস্ত সংকেত প্রোগ্রামে প্রেরণ করা হয়; এটি চয়ন করলেও এটি তাদের পরিচালনা করতে পারে, বা যদি এটি সিগন্যালটিকে উপেক্ষা করে তবে একটি ডিফল্ট আচরণ অনুসরণ করা হয়।

এখানে কয়েকটি কার্যকর সিগন্যাল রয়েছে যা আপনি নিজেকে কোনও প্রক্রিয়াতে প্রেরণ করতে দেখতে পেলেন:

  • সাইনআপ - হ্যাঙ্গআপ
    প্রোগ্রামটিকে বলে যে ব্যবহারকারী সংযোগ বিচ্ছিন্ন হয়েছে (যেমন এসএসএইচ সেশন বা টার্মিনাল উইন্ডোটি বন্ধ ছিল)।
    সাধারণত প্রোগ্রামের একটি চটকদার শাটডাউন করে।
  • SIGINT - সাময়িক বিরতি
    পাঠানো যখন আপনি আঘাত CTRL+ + C
    সাধারণত মানে "বন্ধ কি করছো তুমি" - বা প্রোগ্রাম হত্যা পারে আবার নাও পারে
  • স্বাক্ষর - সমাপ্তি
    ডিফল্ট দ্বারা প্রেরিত killএবং killall
    সাধারণত প্রোগ্রামটি বন্ধ করে দেয় ... কখনও কখনও প্রোগ্রাম যা কিছু করছে তা শেষ করার পরে।
  • সিগস্টপ - উপরের আলোচনা করা + আপনি প্রোগ্রামটি বিরতি দিলে পাঠানো বন্ধ করুন
    CTRLZ
  • সিপাইপ - পাইপ বন্ধ
    প্রোগ্রামটি জানায় যে পাইপলাইনটি বন্ধ হয়ে গেছে। সাধারণত প্রোগ্রামটি শেষ করে দেয়।
    উদাহরণস্বরূপ , প্রথম লাইনটি মুদ্রিত হওয়ার পরে প্রক্রিয়াতে cat /etc/passwd | head -n1SIGPIPE প্রেরণ করবে cat, catপুরো ফাইলটি শেষ করার আগে শেষ হতে হবে।

এই সমস্ত সংকেতগুলি তাদের নিজস্ব সেটিংয়ে "প্রাকৃতিকভাবে" ঘটে গেলেও আপনি পছন্দসই ফলাফল অর্জনের জন্য একটি শর্তটিকে নকল করার জন্য সিগন্যালটি ব্যবহার করতে পারেন।

উদাহরণস্বরূপ, আপনি যদি কারও এসএসএইচ সেশনটি সমাপ্ত করতে চান তবে আপনি কেবল প্রক্রিয়াটি মুছে ফেলতে পারেন, তবে এটির মাধ্যমে আপনি এটিকে তার ইতিহাস ফাইলটি আপডেট করা থেকে বিরত রাখবেন, যা সুরক্ষার কারণে গুরুত্বপূর্ণ হতে পারে। তবে পরিবর্তে যদি আপনি এটিকে SIGHUP প্রেরণ করেন তবে প্রক্রিয়াটি ধরে নিবে সংযোগটি মারা গেছে এবং এর মানক সাফাইটি সম্পাদন করবে।


Ctrl + \ প্রেরণ করে SIGQUIT, যেখানে ডিফল্ট ক্রিয়াকলাপটি ডাম্প করানো এবং শেষ করতে হবে। যদি কোনও প্রোগ্রাম খুব খারাপ কিছু করে থাকে তবে এটি ব্যবহার করা যেতে পারে, আপনাকে অবিলম্বে এটি বন্ধ করতে হবে এবং পরে এটি ডিবাগ করতে সক্ষম হতে চাই।
সাইমন রিখটার

@ সিমোন রিখটার ওহ, আপনি ঠিক বলেছেন স্থির করেছি।
টাইলারেল

6

কিল -9 অর্থ: প্রক্রিয়াটি কার্নেল দ্বারা হত্যা করা হবে; এই সংকেত উপেক্ষা করা যাবে না। 9 এর অর্থ হ'ল কিল সিগন্যাল যা ক্যাচযোগ্য বা অজানা নয়

ব্যবহারসমূহ: সিগকল সিঙ্গল

হত্যার অর্থ: কোনও সংকেত ছাড়াই কিল কমান্ডটি সিগন্যাল 15 কে পাস করে, যা প্রক্রিয়াটি স্বাভাবিকভাবে শেষ করে।

ব্যবহারসমূহ: SIGTERM সিগন্যাল, যা প্রোগ্রামাররা পরিচালনা করতে পারে

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