Avahi-daemon'u nasıl devre dışı bırakabilirim ve bir hizmet olarak gözüktüğü halde rcN.d'de olmadığını bana nasıl çalıştığını açıklayabilir misiniz?
Burada okumayı bırakabilirsin. Aslında, lütfen bir noob bazı Ubuntu öğretmek istemediğiniz sürece yapın. Yukarıdaki sorunun cevaplanacak kadar açık olması gerekir. Gerisi sadece benim Ubuntu etrafında bir yolunu bulmak için daha yapılandırılmış bir yol için arıyorum. Diğer "UNIX benzeri" sistemleri daha az kullanabiliyorum.
Ben bir acemiyim, bu yüzden saçma sapan davranırsam, günlük WTF'nizi düşünün ama gelişmeme yardım edin, lütfen.
Her açılışta, /sbin/initdenilen bir işlemi başlatıyor gibi görünüyoravahi-daemon
# initctl list | grep avahi
avahi-daemon start/running, process 1280
kullanıcı olarak avahi
# id avahi
uid=107(avahi) gid=118(avahi) groups=118(avahi)
Bir ps -efww ef2 işlem aktif gösterir, hem de adı avahi-daemonve PPIDilk avahi-daemongerçekten de 1ikinci işlem birinci bir çocuk. PPID= Bunun 1otomatik olarak başladığını düşündüren şey.
İsteğe bağlı olarak:
Sistem başlangıcında ne yapıldığını, nasıl düşünüleceğini doğru şekilde kontrol etmeyi gerçekten bilmiyorum.
Başlangıçta çalışan hizmetlerin listesini alma yolu bu mu? initctl list | sort
Neyse, bu "hizmeti" bu komutla geçici olarak durdurabilirim:
service avahi-daemon stop
ya da gerçekten bu komut
/etc/init.d/avahi-daemon stop
doğrudan, bunun ne /usr/sbin/servicekullandığı görünüyor:
env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE"
Başlatıldığında, komut dosyası bana bir "Upstart" hizmetini kontrol ettiğimi ve daha basit bir çağrı kullanmam gerektiğini hatırlattı stop avahi-daemon. Sanırım Upstart hakkında bir şeyler öğrenmem gerekecek ama şimdilik öğrenmem gereken tek şey bu:
Ubuntu'da hizmetleri nasıl devre dışı bırakabilirim?
İşte ne denedim (bu yapmanın doğru yolu olmalı mı, değil mi?):
update-rc.d avahi-daemon disable
ama şikayet ediyor:
System start/stop links for /etc/init.d/avahi-daemon do not exist
bu yüzden ikiliye giden yolu aramaya gittim:
# 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"
ki bu:
/usr/sbin/avahi-daemon
ve "çalıştırılabilir dosya" olarak kabul edilebilecek herhangi bir şey etc:
find /etc -type f -name '*avahi*' -perm -u+x
Başlangıç komut dosyalarını bulacağımı düşünüyorum /etc/rcN.d. Bunun yerine başka şeyler buldum:
/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
bu avahi-daemondurum ağ durumu değişikliklerinde başlatılıyor gibi görünüyor ? Bir sistemde otomatik olarak başlatılan ikili dosyaları avlamanın daha iyi bir yolu var mı?
Normalde rc{3,5}.dbu noktada çeşitli sembolik sembolik bağlantıları yok ederdim ama şimdi pek emin değilim. Bu canavara tam olarak ne başlıyor? Olmadan apt-get removeveya nasıl devre dışı bırakılır apt-get purge?
Görebildiğim kadarıyla çok fazla açık kaynağı yok:
lsof -p $(echo `ps --no-headers -o pid -C avahi-daemon | head -n 1`)
ne de hızlı bir bakışta dayalı çok fazla CPU döngüsü kullanmaz htop.
Bu bir liner'ı bir dakikalık bir süre zarfında CPU kullanımlarında korkak olup olmadığını görmek için yazdım ve hiçbir zaman yapmıyor, ancak bunu kontrol etmenin daha iyi yolları olup olmadığını bana bildirin:
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çaba için!