ডেবিয়ানে ডেমন তৈরি করার কোনও "মানক" উপায় আছে কি?


17

আমাকে দেবিয়ানের অ্যাপ্লিকেশন থেকে একটি ডেমন তৈরি করতে হবে। উবুন্টুতে "আপস্টার্ট" এর মতো ডেবিয়ানের কি এর কোনও মানক সরঞ্জাম রয়েছে? আমার কেবল স্টার্ট-স্টপ কমান্ডগুলির দরকার, কিছু বিকল্প এবং একটি পিড ফাইল সহ ডেমন হিসাবে একটি প্রোগ্রাম শুরু করতে এবং এটি পিড ফাইল দিয়ে হত্যা করি।

আমি init.d তাকালাম তবে মনে হচ্ছে এটি বুট-টাইম লঞ্চের জন্য। আমি নিজেই আমার ডেমন শুরু করতে চাই।


2
নোট করুন যে এটি ডেবিয়ান জেসির জন্য পরিবর্তিত হয়েছে, যা সিজনভিট থেকে সিস্টেমেডে ডিফল্টটি স্যুইচ করেছে।
জুলাই

ডেবিয়ান জেসির কিছুটা পিছনের সামঞ্জস্যের উপস্থিতি দেখা যায়, কমপক্ষে / usr / bin / পরিষেবাদি ব্যবহার করে - যদি আপস্টার্ট কনফিগারেশন (/etc/init/{service}.conf) না থাকে এবং একটি সিস্টেভিট কনফিগারেশন (/ etc / init) থাকে। ডি / {পরিষেবা}), তারপরে / ইউএসআর / বিন / পরিষেবা সিসভিনিটের আওতায় আগের মতো /etc/init.d/{service with এর সাথে যোগাযোগ করবে।
কেভিন

উত্তর:


18

আপনি /etc/init.d/skeletonডেবিয়ানে ফাইলটি অনুসরণ করে ম্যানুয়ালি আপনার ডেমন তৈরি করতে পারেন ।

আপনি আপনার ডেমন /usr/bin/serviceচালু $ sudo service yourdaemon startএবং স্টপ করতে ব্যবহার করতে পারেন $ sudo service yourdaemon stop

যতক্ষণ আপনি আপনার স্ক্রিপ্টটি কোনও /etc/rc?.dডিরেক্টরিতে লিঙ্ক না করেন ততক্ষণ এটি সূচনাতে শুরু হবে না।

অন্যদিকে, আপনি ডিমনটোলগুলি দেখতে চাইতে পারেন যা ডিবিয়ানের মান নয় তবে কিছু আকর্ষণীয় বৈশিষ্ট্য রয়েছে।


ধন্যবাদ। দেখে মনে হচ্ছে /usr/bin/serviceআমার সিস্টেমে নেই (এটি ডেবিয়ান লেনি) তবে আমি সরাসরি স্ক্রিপ্টগুলি দিয়ে শুরু করতে পারি /etc/init.d/myservice start
কুরোকি কাজী

3
আপনি sudo invoke-rc.d yourservice startপাশাপাশি ব্যবহার করতে পারেন
chmeee

সেটা জানি না. ধন্যবা
chiggsy

3

দেবিয়ান (এবং উবুন্টু) এর সাহায্যকারী প্রোগ্রাম রয়েছে start-stop-daemonযা থ্রি স্ক্রিপ্টগুলিতে ব্যবহৃত হয়। এটি ডেমনগুলি শুরু এবং ট্র্যাক করার জন্য বেশ কয়েকটি বিকল্প রয়েছে। আপনি সহজেই এটির চারপাশে একটি মোড়ক লিখতে পারেন, যেমন

case $1 in
start) start-stop-daemon --start --exec /my/exec/prog --pidfile /my/pid/file --background
       ;;
stop)  start-stop-daemon --stop --pidfile /my/pid/file 
       ;;
esac

3
আমি উপরে প্রস্তাবিত /etc/init.d/skeleton পছন্দ করব, কারণ এটিতে INIT INFO অংশগুলি অন্তর্ভুক্ত রয়েছে যা নির্ভরতা
বুটিংয়ে

2

দেবিয়ানকে একটি প্রক্রিয়াটি সঠিকভাবে ডেমোনাইজ করার জন্য আপনাকে নিয়ন্ত্রণের প্রক্রিয়া থেকে দূরে থাকা, আইও রিসেট করা, এবং সুন্দর খেলতে একটি প্রক্রিয়া আইডি ফাইল তৈরি সহ বেশ কয়েকটি পদক্ষেপ নিতে হবে। পরিবর্তে আপনার জন্য একই নামের প্যাকেজ থেকে ডেমন প্রোগ্রামের মতো কিছু ব্যবহার করতে পারেন। আপনি যদি এটি করতে চেয়েছিলেন তবে উত্তরটি এখানে স্ট্যাকওভারফ্লোতে পাওয়া যাবে: /programming/3095566/linux-daemonize

আপস্টার্ট কমান্ডটি ডেবিয়ের ইনভোক-আরসি.ডি কমান্ড বা সিস্টেভিট-ইউটস প্যাকেজ থেকে সার্ভিস কমান্ডের অনুরূপ। তারা আশা করে /etc/init.d তে থ্রি স্ক্রিপ্টগুলি বন্ধ করে দেবে। আপনার প্যাকেজের জন্য সেগুলির মধ্যে একটি তৈরি করা ডেবিয়ানের পক্ষে এটি আদর্শ এবং আপনি /etc/init.d/skeleton উদাহরণে দেখতে পারেন যেহেতু এটি স্টার্ট-স্টপ-ডেমন প্রোগ্রামটি ব্যবহার করে।

আপনি একটি /etc/init.d/myservice স্ক্রিপ্ট তৈরি করার কারণে এর অর্থ এটি স্বয়ংক্রিয়ভাবে শুরু করা উচিত নয়। আপনি রানলেভেলগুলি সামঞ্জস্য করতে পারেন যেখানে এটি থামে এবং আপডেট-আরসি.ডি এর মতো একটি সরঞ্জাম ব্যবহার করে স্বয়ংক্রিয়ভাবে শুরু হয়। সমস্ত রান-লেভেল থেকে শুরু করে কোনও পরিষেবা অক্ষম করুন এ এটি আরও বিশদে বর্ণনা করা হয়েছে ?

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