ডকার কিল একটি কিল সিগন্যাল প্রেরণ করবে, এমন কি ডকারের মাধ্যমে সঠিকভাবে কনটেইনারটির ভিতরে থাকা প্রক্রিয়াটি থামানোর প্রচেষ্টা বন্ধ করা হচ্ছে?
হ্যাঁ, পার্থক্যটি সূক্ষ্ম তবে কমান্ড লাইন রেফারেন্সে বর্ণিত :
- ডকার স্টপ : একটি চলমান ধারক বন্ধ করুন ( গ্রেট পিরিয়ডের পরে সিগন্টার প্রেরণ করুন, এবং তারপরে সিগ্কিল করুন ) [...] ধারকটির অভ্যন্তরীণ মূল প্রক্রিয়াটি SIGTERM গ্রহণ করবে এবং গ্রেস পিরিয়ডের পরে সিগ্কিল করবে। [জোর আমার]
- ডকার কিল : একটি চলমান ধারককে হত্যা করুন ( সিগ্কিল, বা নির্দিষ্ট সংকেত প্রেরণ করুন ) [...] ধারকটির অভ্যন্তরের প্রধান প্রক্রিয়াটি সিগ্কিল, অথবা বিকল্প - সিগন্যাল সহ নির্দিষ্ট কোনও সংকেত প্রেরণ করা হবে। [জোর আমার]
সুতরাং stop
স্ট্যান্ডার্ড POSIX সিগন্যাল প্রেরণ করে একটি চমত্কার শাটডাউন ট্রিগার করার চেষ্টা করে SIGTERM
, যেখানে kill
কেবলমাত্র প্রক্রিয়াটি ডিফল্টরূপে হত্যা করে (তবে অন্য কোনও সংকেত প্রেরণেও অনুমতি দেয়):
SIGTERM সিগন্যালটি একটি সমাপ্তির অনুরোধের জন্য কোনও প্রক্রিয়াতে প্রেরণ করা হয়। সিগ্কিল সিগন্যালের বিপরীতে, এটি ধরা পড়ে এবং প্রক্রিয়াটির দ্বারা ব্যাখ্যা করা বা উপেক্ষা করা যায়। এটি প্রক্রিয়াটি দুর্দান্ত সমাপ্তি রিসোর্সগুলি রিলিজ করে এবং উপযুক্ত হলে রাষ্ট্রের সংরক্ষণের কাজ সম্পাদন করতে দেয়। এটি লক্ষ করা উচিত যে স্বাক্ষরগুলি SIGTERM এর সাথে প্রায় একই।
যাইহোক যাইহোক প্রয়োগ করা হয়নি, প্রক্রিয়াগুলি সাধারণত SIGTERM
নিখুঁতভাবে পরিচালনা করবে এবং তাদের দায়িত্বের উপর নির্ভর করে সঠিক কাজ করবে বলে আশা করা হয় - গ্রেস পিরিয়ডের চেয়ে বেশি সময় নেওয়ার এই গ্রেটফুল শাটডাউন প্রয়াসের কারণে এটি সহজেই ব্যর্থ হতে পারে, যা ডেটা অখণ্ডতা বিবেচনা করার মতো কিছু প্যারামাউন্ট (যেমন ডাটাবেসের জন্য); আরও বিশদ বিবরণের জন্য উদাহরণস্বরূপ মেজর হেডেনের সিগমেন্টার বনাম সিগকল
অ্যাপ্লিকেশনটি একবার নির্ধারিত করতে পারে যে একবার সিআইজিআরটিএম পাওয়ার পরে এটি কী করতে চায়। যদিও বেশিরভাগ অ্যাপ্লিকেশনগুলি তাদের সংস্থানগুলি পরিষ্কার করে বন্ধ করবে, কিছু নাও পারে। কোনও অ্যাপ্লিকেশন একটি সিগন্যরটারাম পেলে সম্পূর্ণ আলাদা কিছু করার জন্য কনফিগার করা যেতে পারে। এছাড়াও, যদি অ্যাপ্লিকেশনটি খারাপ অবস্থায় থাকে যেমন ডিস্ক I / O এর জন্য অপেক্ষা করা হয় তবে এটি প্রেরিত সিগন্যালটিতে কাজ করতে সক্ষম নাও হতে পারে।