你可以在这里停止阅读。事实上,除非你想教一个菜鸟一些 Ubuntu,否则请这样做。上面的问题应该很清楚,可以回答。剩下的就是我呼吁一些更结构化的方法来找到绕过 Ubuntu 的方法。我或多或少可以使用其他“类 UNIX”系统。
我是初学者,所以如果我的行为荒谬,请把我视为您的日常 WTF,但请帮助我改进。
在每次启动时,/sbin/init似乎都在启动一个名为avahi-daemon
# initctl list | grep avahi
avahi-daemon start/running, process 1280
Run Code Online (Sandbox Code Playgroud)
作为用户 avahi
# id avahi
uid=107(avahi) gid=118(avahi) groups=118(avahi)
Run Code Online (Sandbox Code Playgroud)
aps -efww ef显示 2 个进程处于活动状态,都称为avahi-daemon,并且PPID第一个进程avahi-daemon确实是1,第二个进程只是第一个进程的子进程。该PPID=1是什么让我觉得这是自动启动。
可选:
我真的不知道如何正确检查系统启动时执行的内容,考虑一下。
这是获取启动时运行的服务列表的方法吗? initctl list | sort
无论如何,我似乎可以通过这个命令暂时停止这个“服务”:
service avahi-daemon stop
Run Code Online (Sandbox Code Playgroud)
或者确实是这个命令
/etc/init.d/avahi-daemon stop
Run Code Online (Sandbox Code Playgroud)
直接,这/usr/sbin/service似乎是在使用:
env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE"
Run Code Online (Sandbox Code Playgroud)
当启动时,脚本提醒我我正在控制一个“Upstart”服务,我应该使用更简单的调用stop avahi-daemon。我想我需要了解 Upstart 但现在,我需要学习的是:
如何在 Ubuntu 中禁用服务?
这是我尝试过的(这应该是正确的方法,还是不是?):
update-rc.d avahi-daemon disable
Run Code Online (Sandbox Code Playgroud)
但它抱怨:
System start/stop links for /etc/init.d/avahi-daemon do not exist
Run Code Online (Sandbox Code Playgroud)
所以我去寻找二进制文件的路径:
# 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"
Run Code Online (Sandbox Code Playgroud)
这是这样的:
/usr/sbin/avahi-daemon
Run Code Online (Sandbox Code Playgroud)
以及任何可以被视为“可执行文件”的内容etc:
find /etc -type f -name '*avahi*' -perm -u+x
Run Code Online (Sandbox Code Playgroud)
以为我会在/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
Run Code Online (Sandbox Code Playgroud)
好像这个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`)
Run Code Online (Sandbox Code Playgroud)
基于快速浏览,它也不会使用太多 CPU 周期htop。
我写了这个单行代码,看看它在一分钟内在 CPU util 上是否变得时髦,但它从来没有,但如果有更好的方法来检查,请告诉我:
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
Run Code Online (Sandbox Code Playgroud)
小智 23
sudo systemctl disable avahi-daemon
Run Code Online (Sandbox Code Playgroud)
在 Ubuntu Gnome 15.10 上为我工作
Tum*_*oid 22
新贵启动脚本存在于/etc/init其中,您可以在其中找到avahi-daemon.conf. 中列出的所有内容都initctl list与 中的脚本匹配/etc/init,并且它们不可执行,因此您find错过了它们。
要禁用 Upstart 控制的服务,请参阅有关禁用服务的 Upstart 说明书:添加#到start on行,或使用覆盖文件(例如:)sudo sh -c "echo manual > /etc/init/avahi-daemon.override"。
小智 10
我发现即使我停止avahi-daemon(和avahi-daemon.socket),Firefox 总是会重新启动它。但是,这是有效的,并永久禁用这个烦人的守护进程:
apt-get remove avahi-daemon
Run Code Online (Sandbox Code Playgroud)
您可能不需要在 PC 启动时阻止它启动,但可能respawn在您杀死它时阻止它启动。
所以,只需注释掉respawnin/etc/init/avahi-daemon.conf
杀死那个进程总是失败,所以无法airmon-ng check通过。评论重生,它杀死了我,再也不会回来追捕我了。
| 归档时间: |
|
| 查看次数: |
133180 次 |
| 最近记录: |