সব টুল বিনামূল্যে

প্রতিটি স্ট্যান্ডার্ড POSIX/Linux প্রসেস সিগন্যালের একটি দ্রুত-পাঠযোগ্য রেফারেন্স — SIGHUP থেকে SIGSYS পর্যন্ত — প্রতিটি সিগন্যালের নম্বর, এর ডিফল্ট অ্যাকশন (Term, Core, Ign, Stop, Cont), এটি ধরা যায় কি না, কী এটি উৎপন্ন করে এবং সংশ্লিষ্ট শেল এক্সিট কোড (128+N) দেখায়। আপনার ব্রাউজারে, বিনামূল্যে।

প্রতিটি স্ট্যান্ডার্ড POSIX/Linux প্রসেস সিগন্যাল, ব্যাখ্যা সহ। সবকিছু একটি বিল্ট-ইন রেফারেন্স থেকে আপনার ব্রাউজারে চলে — কিছুই সার্ভারে পাঠানো হয় না।

সিগন্যাল নং ডিফল্ট অ্যাকশন ধরা যায় বিবরণ Exit কোড
আপনার অনুসন্ধানের সাথে কোনো সিগন্যাল মিলছে না।
ভিন্ন একটি নাম বা নম্বর চেষ্টা করুন — যেমন SIGTERM, 11 বা segmentation।
এগুলো ছাড়াও, Linux real-time সিগন্যাল SIGRTMIN থেকে SIGRTMAX (সাধারণত সিগন্যাল 34–64) প্রদান করে। এদের কোনো পূর্বনির্ধারিত অর্থ নেই এবং নিশ্চিত ক্রমে সরবরাহ করা হয় — অ্যাপ্লিকেশন নিজেই এদের উদ্দেশ্য নির্ধারণ করে।
দেখানো সিগন্যাল নম্বরগুলো x86/ARM ABI-এর ডিফল্ট। কিছু সিগন্যাল অন্য আর্কিটেকচারে (যেমন Alpha, MIPS ও SPARC) ভিন্ন নম্বর বহন করে, তাই স্ক্রিপ্টে সবসময় raw নম্বরের (9) চেয়ে symbolic নাম (SIGKILL) ব্যবহার করুন।

Linux Signals সম্পর্কে

Linux Signals রেফারেন্স SIGHUP থেকে SIGSYS পর্যন্ত প্রতিটি স্ট্যান্ডার্ড POSIX/Linux প্রসেস সিগন্যাল একটি স্ক্যানযোগ্য টেবিলে তালিকাভুক্ত করে। প্রতিটি সারি দেখায় সিগন্যালের সংখ্যা, এর ডিফল্ট অ্যাকশন — Terminate, Core dump, Ignore, Stop বা Continue — একটি প্রসেস এটি ধরতে পারে কিনা, সাধারণত কী এটি জাগায়, এবং একটি প্রসেস এর দ্বারা মারা গেলে আপনি যে শেল এক্সিট কোড (128 + N) দেখেন।

সেই এক্সিট-কোড কলামটি ডেভেলপাররা প্রতিদিন যা মুখোমুখি হন তা সমাধান করে: 137 দিয়ে বেরিয়ে যাওয়া একটি কনটেইনার SIGKILL (9) দ্বারা বন্ধ করা হয়েছিল, 139 দিয়ে একটি ক্র্যাশ SIGSEGV (11) থেকে একটি সেগমেন্টেশন ফল্ট ছিল, এবং 143-এ একটি পরিচ্ছন্ন শাটডাউন SIGTERM (15) থেকে এসেছিল। অনুসন্ধান নাম, সংখ্যা, এক্সিট কোড বা অর্থ দিয়ে কাজ করে, তাই আপনার কাছে যে সূত্রটি আছে সেখান থেকেই আপনি শুরু করতে পারেন।

দুটি ফুটনোট এমন অংশ কভার করে যা রেফারেন্সগুলো সাধারণত এড়িয়ে যায়: রিয়েল-টাইম সিগন্যাল SIGRTMIN থেকে SIGRTMAX, যাদের কোনো পূর্বনির্ধারিত অর্থ নেই এবং নিশ্চিত ক্রমে পৌঁছে দেওয়া হয়, এবং আর্কিটেকচার সতর্কতা — কিছু সিগন্যাল সংখ্যা Alpha, MIPS ও SPARC-এ ভিন্ন, যে কারণে স্ক্রিপ্টগুলোর প্রতীকী নাম ব্যবহার করা উচিত। সবকিছু আপনার ব্রাউজারে চলে।

Linux Signals কীভাবে ব্যবহার করবেন

  1. নাম (SIGKILL), সংখ্যা (9), শেল এক্সিট কোড (137) বা “segmentation”-এর মতো একটি কীওয়ার্ড দিয়ে একটি সিগন্যাল অনুসন্ধান করুন।
  2. সারিটি পড়ুন: সংখ্যা, ডিফল্ট অ্যাকশন, এটি ধরা যায় কিনা, এবং এটি কী জাগায়।
  3. 128+N শেল স্ট্যাটাসকে প্রসেসটি মেরে ফেলা সিগন্যালে অনুবাদ করতে এক্সিট-কোড কলামটি ব্যবহার করুন।
  4. সারির কপি বাটন দিয়ে সিগন্যালের নাম বা এক্সিট কোড কপি করুন।
  5. পোর্টেবল স্ক্রিপ্ট লিখলে রিয়েল-টাইম সিগন্যাল ও প্রতি-আর্কিটেকচার নম্বরিং সম্পর্কে নোটগুলো পরীক্ষা করুন।

সচরাচর জিজ্ঞাসিত প্রশ্ন

SIGTERM (15) একটি প্রসেসকে ভদ্রভাবে বেরিয়ে যেতে বলে — এটি ধরা যায়, তাই প্রসেসটি প্রথমে পরিষ্কার করতে পারে। SIGKILL (9) কার্নেল স্তরে তাৎক্ষণিকভাবে সমাপ্ত করে এবং ধরা, ব্লক বা উপেক্ষা করা যায় না। kill -9 ব্যবহারের আগে সবসময় SIGTERM চেষ্টা করুন।

SIGKILL ও SIGSTOP। কার্নেল উভয়ই সরাসরি প্রয়োগ করে, তাই কোনো হ্যান্ডলার এদের বাধা দিতে পারে না — SIGKILL সবসময় প্রসেসটি সমাপ্ত করে এবং SIGSTOP সবসময় এটি স্থগিত করে।

যখন একটি প্রসেস একটি সিগন্যাল দ্বারা মারা যায়, শেল 128 প্লাস সিগন্যাল সংখ্যা রিপোর্ট করে। তাই 139 হলো 128 + 11: প্রসেসটি SIGSEGV থেকে মারা গেছে, একটি সেগমেন্টেশন ফল্ট। টেবিলটি প্রতিটি ফ্যাটাল সিগন্যালের পাশে এই এক্সিট কোডটি তালিকাভুক্ত করে।

SIGRTMIN থেকে SIGRTMAX — Linux-এ সাধারণত 34 থেকে 64 সংখ্যা। স্ট্যান্ডার্ড সিগন্যালের বিপরীতে এগুলোর কোনো পূর্বনির্ধারিত অর্থ নেই এবং নিশ্চিত ক্রমে সারিবদ্ধ ও পৌঁছে দেওয়া হয়, তাই অ্যাপ্লিকেশনগুলো এদের নিজস্ব উদ্দেশ্য বরাদ্দ করে।

কারণ Alpha, MIPS ও SPARC-এর মতো কিছু CPU আর্কিটেকচারের মধ্যে কিছু সিগন্যাল সংখ্যা ভিন্ন। প্রতীকী নাম — kill -15-এর বদলে kill -TERM — সর্বত্র একই জিনিস বোঝায়, তাই এটি পোর্টেবল পছন্দ।

হ্যাঁ, সম্পূর্ণ বিনামূল্যে। পুরো টেবিলটি পাতার মধ্যে নির্মিত এবং সমস্ত অনুসন্ধান ও কপি করা আপনার ব্রাউজারে ঘটে।

শেয়ার করুন
সাহায্য দরকার?
এই টুলে কোনো সমস্যা পেয়েছেন? আমাদের দলকে জানান।
সমস্যা রিপোর্ট করুন

আপনার নিজের ওয়েবসাইটে এই বিনামূল্যের টুলটি যোগ করুন — নিচের কোডটি কপি করে পেস্ট করুন।