मैं अवही-डेमोन को कैसे निष्क्रिय कर सकता हूं और क्या आप मुझे समझा सकते हैं कि यदि यह सेवा के रूप में प्रकट होता है तो यह कैसे चलता है, लेकिन यह आरसीएनडॉट में नहीं है?
आप यहां पढ़ना बंद कर सकते हैं। वास्तव में, कृपया तब तक करें जब तक कि आप कुछ उबंटू को नोक नहीं करना चाहते। ऊपर दिए गए प्रश्न का उत्तर स्पष्ट होना चाहिए। बाकी मैं सिर्फ उबंटू के आसपास किसी का रास्ता खोजने के लिए कुछ और संरचित तरीके से कॉल कर रहा हूं। मैं अन्य "UNIX-like" सिस्टम का कम या ज्यादा इस्तेमाल कर सकता हूं।
मैं एक शुरुआती हूं इसलिए यदि मैं निरर्थक कार्य करता हूं, तो मुझे अपने दैनिक डब्ल्यूटीएफ पर विचार करें लेकिन मुझे सुधारने में मदद करें, कृपया।
हर बूट में, /sbin/initएक प्रक्रिया शुरू की जा रही है, जिसका नाम हैavahi-daemon
# initctl list | grep avahi
avahi-daemon start/running, process 1280
उपयोगकर्ता के रूप में avahi
# id avahi
uid=107(avahi) gid=118(avahi) groups=118(avahi)
एक ps -efww efशो 2 प्रक्रियाएं सक्रिय हैं, दोनों को बुलाया जाता है avahi-daemon, और PPIDपहला avahi-daemonवास्तव में है 1, दूसरी प्रक्रिया पहले का एक बच्चा है। The PPID= 1मुझे लगता है कि यह ऑटो शुरू किया गया था।
वैकल्पिक रूप से:
मैं वास्तव में यह नहीं जानता कि सिस्टम स्टार्टअप पर ठीक से कैसे जांच की जाए, इसके बारे में सोचकर।
क्या यह स्टार्टअप पर चलने वाली सेवाओं की सूची प्राप्त करने का तरीका है? initctl list | sort
वैसे भी, मैं इस आदेश के माध्यम से अस्थायी रूप से इस "सेवा" को रोकने में सक्षम हो रहा हूँ:
service avahi-daemon stop
या वास्तव में यह आदेश
/etc/init.d/avahi-daemon stop
सीधे, जो यह /usr/sbin/serviceउपयोग कर रहा है:
env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE"
जब लॉन्च किया जाता है, तो स्क्रिप्ट मुझे याद दिलाती है कि मैं "अपस्टार्ट" सेवा को नियंत्रित कर रहा हूं, और मुझे सरल इन्वोकेशन का उपयोग करना चाहिए stop avahi-daemon। मुझे लगता है कि मुझे अपस्टार्ट के बारे में जानने की आवश्यकता होगी, लेकिन अभी के लिए, मुझे यह सीखने की ज़रूरत है:
मैं उबंटू में सेवाओं को कैसे निष्क्रिय कर सकता हूं?
यहाँ मैंने क्या कोशिश की (यह करने का उचित तरीका होना चाहिए, या यह नहीं है?):
update-rc.d avahi-daemon disable
लेकिन यह शिकायत करता है:
System start/stop links for /etc/init.d/avahi-daemon do not exist
इसलिए मैं बाइनरी के लिए शिकार करने गया था:
# Let me know if there is a better way to get the path above
readlink "/proc/$(echo `ps --no-headers -o pid -C avahi-daemon | head -n 1`)/exe"
यह कौन सा है:
/usr/sbin/avahi-daemon
और कुछ भी जिसे "निष्पादन योग्य फ़ाइल" माना जा सकता है etc:
find /etc -type f -name '*avahi*' -perm -u+x
सोच रहा था कि मुझे स्टार्टअप स्क्रिप्ट मिलेगी /etc/rcN.d। मुझे इसके बजाय अन्य चीजें मिलीं:
/etc/dhcp/dhclient-exit-hooks.d/zzz_avahi-autoipd
/etc/dhcp/dhclient-enter-hooks.d/avahi-autoipd
/etc/resolvconf/update-libc.d/avahi-daemon
/etc/network/if-up.d/avahi-autoipd
/etc/network/if-up.d/avahi-daemon
/etc/network/if-down.d/avahi-autoipd
/etc/avahi/avahi-autoipd.action
ऐसा लगता है कि यह avahi-daemonचीज़ नेटवर्क स्थिति परिवर्तनों पर लॉन्च की जा रही है? क्या बायनेरिज़ का शिकार करने का एक बेहतर तरीका स्वचालित रूप से एक सिस्टम पर शुरू हुआ है?
मैंने rc{3,5}.dइस स्तर पर विभिन्न में सहजीवन को सामान्य रूप से दोहराया होगा, लेकिन अब मुझे भी यकीन नहीं है। क्या वास्तव में इस जानवर शुरू होता है? इसके बिना apt-get removeया इसे कैसे निष्क्रिय करें apt-get purge?
मेरे पास बहुत सारे संसाधन नहीं हैं, जहाँ तक मैं देख सकता हूँ:
lsof -p $(echo `ps --no-headers -o pid -C avahi-daemon | head -n 1`)
न तो यह बहुत सी सीपीयू चक्रों का उपयोग करता है, एक त्वरित नज़र के आधार पर htop।
मैंने यह एक-लाइनर यह देखने के लिए लिखा है कि क्या यह सीपीयू के उपयोग पर एक मिनट की अवधि में कायरतापूर्ण हो जाता है, और यह कभी नहीं करता है, लेकिन मुझे बताएं कि क्या यह जांचने के बेहतर तरीके हैं:
for i in {1..59}; do ps -p $(echo `ps --no-headers -o pid -C avahi-daemon | head -n 1`) --no-headers -o pcpu; sleep 1; done
Aप्रयास के लिए!