একটি পাইপ থেকে পড়ুন, একটি ফাইল লিখুন
আপনি যদি ডিমনকে কিছু স্বেচ্ছাসেবী প্রক্রিয়া দ্বারা উত্পাদিত ইনপুট পড়তে চান তবে আপনাকে সেই প্রক্রিয়াটি পাইপের সাথে সংযুক্ত করতে হবে। এখানে স্বেচ্ছাচারী প্রক্রিয়াটি হ'ল আপনি আদেশগুলি প্রতিধ্বনি করছেন এবং এটি অন্য একটি প্রসঙ্গে চলেছে in সুতরাং একটি নামযুক্ত পাইপ তৈরি করুন (প্রায়শই ইউনিক্স প্রসঙ্গে ফিফো বলা হয়)।
mkfifo /var/run/daemon.fifo
</var/run/daemon.fifo /path/to/daemond --option >daemon.log
এবং কেবল পাইপে কমান্ড লিখুন:
echo 'FORWARD 10' >/var/run/daemon.fifo
echo 'LEFT 72' >/var/run/daemon.fifo
তবে এটি যেমন কাজ করবে তেমন সম্ভাবনা নেই: ডেমোন তার স্ট্যান্ডার্ড ইনপুটটিতে ফাইলের শেষ দেখলে বেরিয়ে আসার একটি ভাল সম্ভাবনা রয়েছে, যা পাইপকে লেখার প্রথম প্রক্রিয়াটি শেষ হওয়ার সাথে সাথে ঘটে। আপনি tail -f
এই সমস্যা এড়াতে ব্যবহার করতে পারেন ।
</var/run/daemon.fifo tail -c +1 -f | {
echo $$ >/var/run/daemon.pid
exec /path/to/daemond --option >daemon.log
}
কিছু tail
বাস্তবায়ন সহ, আপনি বাফারিং দ্বারা দংশন পেতে পারেন: tail
কিছু আউটপুট নির্গত করার জন্য পর্যাপ্ত বাইট সংগ্রহ না করা পর্যন্ত প্রক্রিয়াটি অপেক্ষা করবে। আমি মনে করি না এটি পসিএক্স টুলবক্সে দ্রবণযোগ্য; যদি সমস্যা হয় তবে একটি তুচ্ছ সি বা পার্ল বা পাইথন প্রোগ্রামটি ব্যবহার করুন। যতদূর আমি tail
জিএনইউ কোর্টিলগুলি থেকে বলতে পারি (লিনাক্স এবং অন্য কোথাও পাওয়া যায়) এই শ্রদ্ধায় নিরাপদ।
আপনি যখন ডিমনটি থামান, প্রক্রিয়াটি echo >/var/run/daemon.fifo
মেরে ফেলবে tail
।
স্ক্রিনের ভিতরে প্রোগ্রাম শুরু করা
আপনার পরিষেবা পরিচালক থেকে সরাসরি ডিমন আহ্বান না করে (আপনি কি সত্যই সিসিভি ইন, বা মোড়ক স্ক্রিপ্ট বা আপস্টার্টের মতো অতিরিক্ত কিছু ব্যবহার করছেন?) অনুরোধ করুন
screen -c daemon.screenrc -L -d -m -S daemon_name /path/to/daemond --option
যেহেতু ডিমন সার্ভিস ম্যানেজারের শিশু প্রক্রিয়া হবে না, তাই আপনাকে সঠিক প্রক্রিয়াতে একটি সংকেত পাঠানোর বিষয়টি নিশ্চিত করতে হবে। কীভাবে এটি করা যায় তা নির্ভর করে ডেমনটি কীভাবে শুরু হয়েছিল এবং কী দ্বারা।
এটা টেকনিক্যালি সম্ভব একটি টার্মিনালে একটি চলমান প্রক্রিয়া সংযুক্ত করতে, কিন্তু একটি ঝুঁকি আপনি প্রোগ্রাম ক্র্যাশ করব, তাই এটি একটি উৎপাদন ব্যবস্থা জন্য স্পষ্টভাবে হয়।
-L
বিকল্প পর্দা লেখার সবকিছু যে একটি ফাইলে তার উইন্ডোতে প্রদর্শিত তোলে। ফাইলের নামটি নির্দেশের daemon.screenrc
সাথে দেওয়া হয়েছে logfile
।