avahi-daemon을 비활성화하고 서비스로 나타나지만 rcN.d에없는 경우 어떻게 실행되는지 설명 할 수 있습니까?
여기서 읽을 수 없습니다. 사실, 멍청한 놈에게 우분투를 가르치고 싶지 않다면 해주세요. 위의 질문은 대답하기에 충분히 명확해야합니다. 나머지는 우분투에서 자신의 길을 찾는 더 체계적인 방법을 요구하는 것입니다. 다른 "UNIX 계열"시스템을 어느 정도 사용할 수 있습니다.
나는 초보자이기 때문에 내가 무의미하게 행동한다면, 당신의 매일 WTF를 고려하지만 개선을 도와주십시오.
부팅 할 때마다 /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
제 2 공정이 제 단지 자식이다. 는 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
줍니다. Upstart에 대해 배워야 할 것 같지만 지금은 알아야 할 것은 다음과 같습니다.
우분투에서 서비스를 어떻게 비활성화합니까?
여기 내가 시도한 것이 있습니다 (적절한 방법이어야합니까, 그렇지 않습니까?).
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`)
또한 한 눈에보기에 너무 많은 CPU주기를 사용하지도 않습니다 htop
.
이 1 라이너를 작성하여 1 분 동안 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
A
노력하십시오!