如何禁用avahi-daemon,并且你能否解释一下它作为一个服务运行的方式,即使它在rcN.d中没有出现?
可以在这里停止阅读了。实际上,请除非你想教一个新手一些Ubuntu操作系统,否则请停止阅读。上面的问题应该足够明确以便得到答案。其余内容只是我寻求更加结构化的方法来使用Ubuntu操作系统。我也能基本上使用其他"类UNIX"系统。
我是一个初学者,所以如果我表现得荒谬,请把我当作你每天见到的奇怪事物,但请帮助我改进。
在每次启动时,/sbin/init似乎会启动一个名为avahi-daemon的进程。
作为用户
无论如何,我似乎可以通过这个命令暂时停止这个“服务”。
或者确实这个命令
当启动时,脚本提醒我正在控制一个“Upstart”服务,并且我应该使用更简单的调用
所以我去寻找二进制文件的路径:
这是什么意思?
任何可以被视为 "可执行文件" 的东西在 etc 中:
我本以为在
似乎这个“avahi-daemon”东西是在网络状态改变时启动的?有没有更好的方法来自动追踪系统上自动启动的二进制文件?
通常我会在这个阶段彻底删除各种“rc{3,5}.d”中的符号链接,但现在我不太确定。到底是什么启动了这个怪物?如何在不使用“apt-get remove”或“apt-get purge”的情况下禁用它?
据我所见,它并没有打开太多的资源:
可以在这里停止阅读了。实际上,请除非你想教一个新手一些Ubuntu操作系统,否则请停止阅读。上面的问题应该足够明确以便得到答案。其余内容只是我寻求更加结构化的方法来使用Ubuntu操作系统。我也能基本上使用其他"类UNIX"系统。
我是一个初学者,所以如果我表现得荒谬,请把我当作你每天见到的奇怪事物,但请帮助我改进。
在每次启动时,/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
,并且第一个 avahi-daemon
的 PPID
确实是 1
,第二个进程只是第一个进程的子进程。 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"
当启动时,脚本提醒我正在控制一个“Upstart”服务,并且我应该使用更简单的调用
stop avahi-daemon
。我猜我需要学习关于Upstart,但现在,我只需要学习这个:
我如何在Ubuntu中禁用服务?
这是我尝试过的(这应该是正确的方法,或者不是吗?):
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
,它也不会使用太多的CPU周期。
我写了这个一行代码来检查它在一分钟内的CPU利用率是否出现异常,但它从未出现过。如果有更好的方法来检查,请告诉我。
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