PID ফাইল উধাও হয়। systemd কীভাবে Squid চালু করে দেখুন।
PID ফাইল উধাও হওয়াকে অনুমতির সমস্যা ধরার আগে Squid-এর ফোরগ্রাউন্ড বা ডেমন আচরণ তার systemd ইউনিটের সঙ্গে মিলিয়ে নিন।
Squid-এর PID ফাইল দেখা দিয়ে সঙ্গে সঙ্গে উধাও হলে, লোড করা ইউনিটের Type= প্রকৃত এক্সিকিউটেবল ও আর্গুমেন্টের সঙ্গে মিলিয়ে দেখুন। Type=simple ধরনের সার্ভিস আশা করে যে চালু করা প্রক্রিয়াটিই মূল প্রক্রিয়া হিসেবে থাকবে। যে কমান্ড ডেমন হয়ে ফর্ক করে সেই প্রক্রিয়াকে বেরিয়ে যেতে দেয়, সে অন্য চুক্তি মানে; systemd সেটিকে সমাপ্ত ধরে বাকি সার্ভিস প্রক্রিয়াগুলো ভেঙে দিতে পারে।
| সেটিং | মালিক ও উদ্দেশ্য |
|---|---|
pid_filename | এই নির্দেশিকা থাকা সংস্করণে Squid এই পথে তার PID লেখে |
PIDFile= | সেই সার্ভিস মডেলের প্রয়োজন হলে systemd এই পথ থেকে PID পড়ে |
PIDFile= ফাইলটি তৈরি করে না, ডেমন হওয়া কমান্ডকে ফোরগ্রাউন্ড প্রক্রিয়াও বানায় না। ফর্ক করা বিন্যাসে সার্ভিসের ধরন, ডেমন আচরণ ও পথ মিলতে হবে। ফোরগ্রাউন্ড বিন্যাসে ম্যানেজারকে লক্ষ্য করা স্থায়ী প্রক্রিয়াটি অনুসরণ করতে হবে।
Squid -N অর্থাৎ ডেমন মোড এড়ানোকে --foreground অর্থাৎ সন্তান প্রক্রিয়া শেষ হওয়া পর্যন্ত পিতা প্রক্রিয়া ধরে রাখার থেকে আলাদা করে। বিল্ড ও সার্ভিস বিন্যাস অনুযায়ী বেছে নিন। প্যাকেজ করা ইউনিট এর বদলে প্রস্তুতির বিজ্ঞপ্তি বা বিল্ড-নির্দিষ্ট অন্য বিকল্প ব্যবহার করতে পারে; কাস্টমাইজ করার সময় সেই মডেলটি রাখুন।
এখন জার্নালটি Squid-এর শুরুর বার্তার সঙ্গে মিলিয়ে দেখুন। ব্যাকরণের ত্রুটি, দুর্গম রানটাইম ডিরেক্টরি বা মারাত্মক সূচনা সত্যিই সার্ভিস বন্ধ করে PID ফাইল সরিয়ে দিতে পারে। কেবল উধাও হয়ে যাওয়াই সেই প্রস্থানকে ভুল প্রক্রিয়া অনুসরণ থেকে আলাদা করে না। ডিরেক্টরির মালিকানা বারবার বদলানোর বদলে সেই বার্তাগুলো যে কারণকে সমর্থন করে তা ঠিক করুন।