আসুন ধরে নেওয়া যাক আমাদের অজগরে এমন একটি তুচ্ছ ডেমন লেখা আছে:
def mainloop():
while True:
# 1. do
# 2. some
# 3. important
# 4. job
# 5. sleep
mainloop()
এবং আমরা তা ব্যবহার daemonize start-stop-daemon
যা ডিফল্টভাবে পাঠায় SIGTERM
( TERM
) এ সংকেত --stop
।
ধরা যাক বর্তমান পদক্ষেপটি সম্পাদিত হয় #2
। এবং এই মুহুর্তে আমরা TERM
সংকেত প্রেরণ করছি ।
যা ঘটে তা হ'ল ফলশ্রুতি অবিলম্বে শেষ হয়।
আমি দেখেছি যে, আমি ব্যবহার সংকেত ঘটনা সব ব্যবস্থা করতে সক্ষম signal.signal(signal.SIGTERM, handler)
কিন্তু জিনিস যে এটি এখনও বর্তমান সঞ্চালনের ব্যাঘাত এবং নিয়ন্ত্রণ পাসের হয় handler
।
সুতরাং, আমার প্রশ্ন হ'ল - বর্তমান মৃত্যুদন্ড কার্যকর করতে বা TERM
বিচ্ছিন্ন থ্রেডে (?) সিগন্যালটি পরিচালনা করা কি সম্ভব যাতে আমি সেট করতে সক্ষম হয়েছি shutdown_flag = True
যাতে mainloop()
করুণাময় থামার সুযোগ হয়েছিল?
signalfd
এবং মুখোশের মাধ্যমে আপনি যা জিজ্ঞাসা করেছেন তা আমি করেছিSIGTERM
।