내 애플리케이션은 systemd가 실행되는 시스템과 systemd를 사용할 수 없는 이전 플랫폼에서 실행되어야 합니다. 따라서 chkconfig 및 systemctl 활성화를 사용하여 내 서비스를 런레벨에 등록합니다.
실행 수준에서 서비스를 비활성화하려면 어떻게 해야 합니까? systemctl과 chkconfig를 비활성화해야 합니까?
답변1
깨끗한 해결책은어떤 초기화 시스템이 사용되고 있는지 확인하세요그런 다음 사용 중인 init 시스템에 적용되는 명령만 실행하십시오.
답변2
sysvinit
시스템 의 경우 chkconfig
서비스를 실행하는 스크립트에 대한 링크를 생성하고 /etc/rc.d/init.d
서비스에 대해 지정한 실행 수준에 따라 배치합니다./etc/rc*.d
systemd
시스템 의 경우 링크를 생성하고 systemctl enable
시스템과 다른 폴더 chkconfig
에 배치합니다 sysvinit
.
예를 들어 다중 사용자 수준의 경우 다음을 입력합니다./etc/systemd/system/multi-user.target.wants/
귀하의 경우 실행중인 스크립트가 있으면 /etc/init.d
호출하면 systemd disable
링크를 제거 /etc/systemd/system/X/
하고 호출하면 chkconfig
링크 sysvinit
를 제거하십시오./etc/rc*.d