मैं अवही-डेमोन को कैसे निष्क्रिय कर सकता हूं और क्या आप मुझे समझा सकते हैं कि यदि यह सेवा के रूप में प्रकट होता है तो यह कैसे चलता है, लेकिन यह आरसीएनडॉट में नहीं है?
आप यहां पढ़ना बंद कर सकते हैं। वास्तव में, कृपया तब तक करें जब तक कि आप कुछ उबंटू को नोक नहीं करना चाहते। ऊपर दिए गए प्रश्न का उत्तर स्पष्ट होना चाहिए। बाकी मैं सिर्फ उबंटू के आसपास किसी का रास्ता खोजने के लिए कुछ और संरचित तरीके से कॉल कर रहा हूं। मैं अन्य "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
प्रयास के लिए!