কেন Ctrl + c টাইপ করলে লিনাক্সে দু'বার চলমান প্রক্রিয়া বন্ধ হবে?


24

লিনাক্স প্রোগ্রাম রয়েছে, উদাহরণস্বরূপ, ভিএলসি, প্রোগ্রামটি যদি প্রথমটির পরে বন্ধ না হয় তবে টার্মিনাল থেকে তাদের মৃত্যুদণ্ড কার্যকর করতে দুইবার ctrl+ টাইপ করার পরামর্শ দেয় c

প্রথমবার কাজ না করলে টাইপ করা ctrl+ cদুবার কেন কাজ করবে?


6
[উদ্ধৃতি আবশ্যক]
Ignacio Vazquez-

উত্তর:


35

এটি যা করে তা সম্পূর্ণ প্রয়োগের জন্য নির্দিষ্ট। আপনি যখন ctrl+ টিপেনc , টার্মিনাল এমুলেটর অগ্রভাগ অ্যাপ্লিকেশনটিতে একটি সিগিন্ট সিগন্যাল প্রেরণ করে, যা উপযুক্ত "সিগন্যাল হ্যান্ডলার" ট্রিগার করে। SIGINT এর জন্য ডিফল্ট সিগন্যাল হ্যান্ডলার অ্যাপ্লিকেশনটি সমাপ্ত করে। কিন্তু যে কোনও প্রোগ্রাম সিগিন্টের জন্য নিজস্ব সিগন্যাল হ্যান্ডলার ইনস্টল করতে পারে (একটি সিগন্যাল হ্যান্ডলার সহ যা কার্যকরভাবে থামায় না)।

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


3
কিছু সিস্টেমে, হ্যান্ডলারের কাছে কল দেওয়ার পরে একই সংকেতটি SIG_DFL এ ফিরে আসে (একই সংকেতে দুইবার হ্যান্ডলারকে কল এড়াতে); একে SysV শব্দার্থবিজ্ঞান বলা হয়। অনেক প্রোগ্রাম হ্যান্ডলারের শেষে মূল অন-প্রোগ্রাম সেটিংসে সিগন্যাল হ্যান্ডলারটি সেট করে না। এটি সাধারণত একটি প্রোগ্রামিং বাগ হতে পারে। সিগন্যালে আরও তথ্য পড়ুন (২) ম্যানপেজে
আর্গেজ

16

সিগিন্ট , Ctrl+ এর মাধ্যমে প্রেরিত সিগন্যাল Cএকটি প্রোগ্রামকে প্রচলিতভাবে তার মূল কমান্ড প্রসেসিং লুপের বাইরে বেরিয়ে আসতে বলে, বা যদি তা বোঝা যায় না, পরিষ্কারভাবে বেরিয়ে আসে। কিছু প্রোগ্রাম যখন তারা একটি সাইন্ট পায় তখন একটি ক্লিনআপ পদ্ধতি চালায়। প্রোগ্রামটি যদি এত গণ্ডগোলিত হয় যে ক্লিনআপ পদ্ধতিটি ব্যর্থ হয় তবে কিছু প্রোগ্রামে, দ্বিতীয় Ctrl+ Cপ্রোগ্রামটি তত্ক্ষণাত্ বন্ধ করে দেয়। এটি করা প্রতিটি প্রোগ্রাম লেখকের উপর নির্ভর করে।

একটি দ্বিতীয় যদি Ctrl+ + Cপ্রোগ্রাম হত্যা নয়, চেষ্টা Ctrl+ + \, যা পাঠায় SIGQUIT , একটি আরো সহিংস (কিন্তু এখনও catchable সংকেত) করুন বা Ctrl+ + Zথেকে সাসপেন্ড প্রোগ্রাম এবং তারপর killকমান্ড (যেমন kill %1যা পাঠায় SIGTERM , একটি সাধারনত কম সহিংস সংকেত SIGQUIT এর চেয়ে, 1 নম্বর কাজের কাছে)। সব অন্য ব্যর্থ হলে, সঙ্গে প্রোগ্রাম হত্যা kill -KILL, নামেও পরিচিত kill -9, uncatchable সংকেত পাঠানোর SIGKILL

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