Wie kann ich avahi-daemon deaktivieren und mir erklären, wie es läuft, wenn es als Dienst angezeigt wird, aber nicht in rcN.d?
Sie können hier aufhören zu lesen. In der Tat, bitte tun Sie dies, es sei denn, Sie möchten ein wenig Ubuntu lernen. Die obige Frage sollte klar genug sein, um beantwortet zu werden. Der Rest ist nur meine Forderung nach einer strukturierteren Art, sich in Ubuntu zurechtzufinden. Ich kann mehr oder weniger andere "UNIX-ähnliche" Systeme verwenden.
Ich bin ein Anfänger. Wenn ich unsinnig bin, betrachte mich als deine tägliche WTF, aber hilf mir bitte, mich zu verbessern.
Bei jedem Start /sbin/init
scheint ein Prozess aufgerufen zu werdenavahi-daemon
# initctl list | grep avahi
avahi-daemon start/running, process 1280
als Benutzer avahi
# id avahi
uid=107(avahi) gid=118(avahi) groups=118(avahi)
a ps -efww ef
zeigt 2 aktive Prozesse, beide aufgerufen avahi-daemon
, und der PPID
erste avahi-daemon
ist in der Tat 1
der zweite Prozess ist nur ein Kind des ersten. Das PPID
= 1
lässt mich denken, dass dies automatisch gestartet wurde.
Optional:
Ich weiß nicht genau, wie ich überprüfen soll, was beim Systemstart ausgeführt wird, wenn ich darüber nachdenke.
Ist dies der Weg, um eine Liste der Dienste zu erhalten, die beim Start ausgeführt werden? initctl list | sort
Auf jeden Fall kann ich diesen "Dienst" vorübergehend über den folgenden Befehl beenden:
service avahi-daemon stop
oder in der Tat diesen Befehl
/etc/init.d/avahi-daemon stop
direkt, was dies zu verwenden /usr/sbin/service
scheint:
env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE"
Beim Start erinnert mich das Skript daran, dass ich einen "Upstart" -Dienst steuere und den einfacheren Aufruf verwenden sollte stop avahi-daemon
. Ich denke, ich muss etwas über Upstart lernen, aber im Moment muss ich nur Folgendes lernen:
Wie deaktiviere ich Dienste in Ubuntu?
Folgendes habe ich versucht (dies sollte der richtige Weg sein, oder nicht?):
update-rc.d avahi-daemon disable
aber es beschwert sich:
System start/stop links for /etc/init.d/avahi-daemon do not exist
Also ging ich auf die Jagd nach dem Pfad zur Binärdatei:
# 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"
welches ist das:
/usr/sbin/avahi-daemon
und alles, was als "ausführbare Datei" betrachtet werden kann in etc
:
find /etc -type f -name '*avahi*' -perm -u+x
Ich denke, ich würde Startskripte in finden /etc/rcN.d
. Ich habe stattdessen andere Dinge gefunden:
/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
scheint, dass dieses avahi-daemon
Ding bei Änderungen des Netzwerkstatus gestartet wird? Gibt es eine bessere Möglichkeit, automatisch auf einem System gestartete Binärdateien zu finden?
Normalerweise hätte ich die Symlinks in den verschiedenen rc{3,5}.d
zu diesem Zeitpunkt ausgelöscht, aber jetzt bin ich mir nicht sicher. Was genau fängt dieses Biest an? Wie kann ich es ohne apt-get remove
oder deaktivieren apt-get purge
?
Es sind nicht zu viele Ressourcen offen, soweit ich sehen kann:
lsof -p $(echo `ps --no-headers -o pid -C avahi-daemon | head -n 1`)
es werden auch nicht zu viele CPU-Zyklen benötigt, basierend auf einem kurzen Blick auf htop
.
Ich habe diesen Einzeiler geschrieben, um zu prüfen, ob er über einen Zeitraum von einer Minute unter CPU-Auslastung funky wird, und das tut er niemals. Lassen Sie mich jedoch wissen, ob es bessere Möglichkeiten gibt, dies zu überprüfen:
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
für die Mühe!