Linux(Debian)에서 프로그램을 서비스로 설정하고 기본적으로 끄는 방법은 무엇입니까?

Linux(Debian)에서 프로그램을 서비스로 설정하고 기본적으로 끄는 방법은 무엇입니까?

Alfresco를 설치할 때 서비스로 설치할지 여부를 선택할 수 있습니다.

서비스로 설치하면 부팅 시 서비스가 시작되지만 톰캣을 사용하기 때문에 백그라운드 프로그램으로 남아 있기에는 너무 무거워진다. 또한 가동 중지 시간이 Apache보다 훨씬 깁니다.

그래서 이를 서비스로 유지하고 싶지만 기본적으로는 off로 설정되어 있으므로 Enter만 하면 됩니다 sudo service alfresco start.

서비스가 아닌 것으로 설정하고 bash 스크립트 한두 개를 작성할 수도 있지만 Linux에서 "서비스"가 작동하는 방식에 대해 자세히 알아보고 싶습니다. Apache에는 문제가 되지 않지만 해당 서비스 매개변수가 저장되는 위치와 이를 변경하는 방법을 아는 것이 좋을 것입니다.

답변1

"일반적인" 접근 방식은 다음과 같습니다.

$ sudo update-rc.d -f servicename remove

삭제서비스 이름모든 런레벨에서 자동으로 시작됩니다.

기본 설정을 다시 활성화하려면 다음을 수행하십시오.

$ sudo update-rc.d servicename defaults

답변2

당신이 사용할 수있는sysv-rc-conf관리하다런레벨(어떤 서비스가 어떤 실행 수준에서 시작되어야 하는지 구성합니다).

이것은 매우 간단합니다.

  1. 설치하세요:sudo apt-get install sysv-rc-conf
  2. 달리다:sudo sysv-rc-conf
  3. 원하는 실행 수준에서 시작하도록 서비스를 표시합니다(2, 3, 4, 5는 일반 시작, 0은 종료, 6은 다시 시작). 키보드 화살표를 사용하여 탐색하고 space키 입력을 사용하여 확인란을 전환합니다.

답변3

데비안은 기본적으로 SysVinit과 함께 제공됩니다. 런레벨이 기호 링크를 통해 제어되는 서비스가 실행됩니다 /etc/initN.d(N = 0 ~ 6, 여기서 2-5는 일반 런레벨, S는 부팅 시 시작된 서비스를 나타냄). 바라보다드미트리 바실리야노프그리고게티프딕이러한 심볼릭 링크를 구성하는 방법에 대한 답변입니다.

나는 사용하는 것을 좋아한다file-rc패키지는 심볼릭 링크를 간단한 텍스트 파일로 대체합니다 /etc/runlevel.conf.

많은 수의 서비스를 종료하려는 경우 또는 설치 또는 업그레이드 중에 서비스가 시작되지 않도록 하려는 경우(Debian의 알려진 문제) 로컬 서비스 시작 정책을 정의할 수 있습니다. 라는 스크립트를 작성하세요./usr/sbin/policy-rc.d달성초기화 스크립트 전략당신의 선택. 자세한 내용은 /usr/share/doc/sysv-rc/README.policy-rc.d시스템을 참조하십시오. 전체 정책을 시행하려면 약간의 작업이 필요하지만 간단한 경우에는 작동할 수 있습니다. 예를 들어 exit 101스크립트에 포함된 내용만 포함된 경우 초기화 스크립트가 실행되지 않습니다(이는 chroot에 설치된 시스템에 편리합니다).

관련 정보