আমি একটি শেল স্ক্রিপ্ট লিখছি যা আমি ডেমমনটোস বা ডেমোনাইজের মতো বাহ্যিক সরঞ্জাম ব্যবহার না করে স্টার্টআপে ডেমন হিসাবে চালাতে চাই ।
লিনাক্স ডেমন রচনা হাওটো
মতে লিনাক্স ডেমন লিখন হাওটুর , একটি সঠিক ডেমন নিম্নলিখিত বৈশিষ্ট্য আছে:
- অভিভাবক প্রক্রিয়া থেকে কাঁটাচামচ
- বন্ধ সব ফাইল বর্ণনাকারী (অর্থাত,
stdin
,stdout
,stderr
) - লেখার জন্য লগগুলি খোলে (যদি কনফিগার করা থাকে)
- অবিচ্ছিন্ন (সাধারণত ) স্থিতিশীল ডিরেক্টরিকে পরিবর্তিত করে
/
- ফাইল মোড মাস্ক পুনরায় সেট করুন (umask)
- একটি অনন্য সেশন আইডি (এসআইডি) তৈরি করে
ডিমনাইজ পরিচিতি
Daemonize ভূমিকা এগিয়ে বলেছেন জানায় যে একটি টিপিক্যাল ডেমন এছাড়াও:
- এর নিয়ন্ত্রণ টার্মিনাল থেকে বিচ্ছিন্ন করে (যদি সেখানে থাকে) এবং সমস্ত টার্মিনাল সিগন্যাল উপেক্ষা করে
- এটি থেকে বিচ্ছিন্ন করা প্রক্রিয়া গ্রুপ
- হ্যান্ডলগুলি
SIGCLD
আমি কীভাবে এ , বা sh
, এ সব করবdash
bash
শুধুমাত্র সাধারণ লিনাক্স সরঞ্জামগুলির সাথে স্ক্রিপ্ট?
স্ক্রিপ্টটি অতিরিক্ত সফ্টওয়্যার ছাড়াই যথাসম্ভব অনেকগুলি ডিস্ট্রোতে চালিয়ে যেতে সক্ষম হওয়া উচিত, যদিও ডেবিয়ান আমাদের প্রাথমিক ফোকাস।
দ্রষ্টব্য: আমি জানি যে স্ট্যাকএক্সচেঞ্জ নেটওয়ার্কে nohup
বা এর ব্যবহারের সুপারিশ করা প্রচুর উত্তর রয়েছে তবে setsid
এই পদ্ধতির কোনওটিই উপরের সমস্ত প্রয়োজনীয়তাকে মোকাবেলা করে না।
সম্পাদনা করুন: ডেমন (7) র manpage কিছু পয়েন্টার, যদিও পুরোনো ধাঁচের মধ্যে কিছু পার্থক্য হবে বলে মনে হচ্ছে দেয় SysV
ডেমন এবং নতুন systemd
বেশী। যেহেতু বিভিন্ন ডিস্ট্রোসের সাথে সামঞ্জস্যতা গুরুত্বপূর্ণ, দয়া করে নিশ্চিত করুন যে উত্তরটি কোনও পার্থক্য পরিষ্কার করেছে।
daemon
এবং যারা অন্যান্য বিষয়ের চলমান জন্য নির্বিচারে যেমন চলমান জন্য কোন বিধান সঙ্গে শেল স্ক্রিপ্ট একটি ডিমন আপনি যেহেতু লেখক, সেই স্ক্রিপ্টটি কীভাবে রচিত হয় তার পুরো নিয়ন্ত্রণে, এটিকে তৈরি করুন যাতে এটি কেবলমাত্র সিস্টেমড ইউনিটফাইল বা আরসি.ডি স্ক্রিপ্ট থেকে চালু করা যায়। আপনি হয়নি উল্লেখ "উপযুক্ত"!