Ubuntu12.04 : 시작시 데몬 프로세스를 비활성화하는 방법 것은 시작 예제를 시작 데몬 프로세스를 비활성화하는

나는 일반적으로 사용 service start/stop하거나 initctl start/stop시작하거나 데몬 프로세스를 중지하지만 지금은 내가 무엇을 찾고 있어요 것은 시작 예제를 시작 데몬 프로세스를 비활성화하는 것입니다하기 mysqld.

현재하고있는 일은 이름 /etc/init/mysql.conf을 바꾸고 /etc/init/mysql.conf.bak있지만 조금 읽은 후에 는 위의 작업에 systemd대한 enable & disable옵션을 제공한다는 것을 알게 되었습니다.

우분투 12.04와 비슷한 것이 있습니까 upstart?



답변

다음 명령을 실행하여 서비스를 비활성화 할 수 있습니다.

sudo update-rc.d -f <service name> disable

맨 페이지 발췌 :

disable [S | 2 | 3 | 4 | 5] 옵션으로 실행할 때 update-rc.d는 시작 링크의 이름을 바꾸어 시퀀스 번호가 동일한 링크를 중지하여 스크립트 /etc/init.d/name에 대한 기존 실행 레벨 링크를 수정합니다. 100에서 원래 시퀀스 번호를 뺀 차이로


답변

서비스를 비활성화하고 시작하는 올바른 방법은 XX.override 파일을 작성하는 것입니다.

echo 'manual' > /etc/init/mysqld.override

그렇게하면 upstart 서비스가 자동으로 시작되지 않습니다


답변

@ warl0ck가 옳습니다. 이 정보가 Upstart 문서에 잘 설명되어 있다고 덧붙이고 싶습니다 : http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-automatically-starting

구체적으로 :

Upstart 1.3을 사용하면 대체 파일과 수동 스탠자를 사용하여보다 간단한 방식으로 동일한 결과를 얻을 수 있습니다 [27] :

# echo "manual" >> /etc/init/myjob.override

이렇게하면 동일한 효과를 얻을 수 있습니다.

# echo "manual" >> /etc/init/myjob.conf

그러나 대체 기능을 사용하면 원래 작업 구성 파일을 그대로 둘 수 있습니다.

원래 동작으로 되돌리려면 대체 파일을 삭제하거나 이름을 바꾸거나 “.conf”파일에서 수동 스탠자를 제거하십시오.


답변

이를 지원할 수있는 멋진 소프트웨어도 있습니다. rcconf라고합니다.

다음을 사용하여 다운로드하십시오.

sudo apt-get install rcconf

명령과 함께 사용하십시오.

rcconf

서비스를 비활성화 / 활성화하기위한 멋진 (명령 줄) 인터페이스가 제공됩니다.


답변

시작할 때 실행 하지/etc/rc2.d 않으려는 항목으로 이동하여 이름을 바꾸 십시오. (초기, 대문자) “S”를 “K”로 변경하십시오 (예 : 로 ). 마음이 바뀌면 반대로 바꾸십시오. 2는 실행 수준을 의미한다고 생각합니다. 어떤 경우 2는 기본 다중 사용자 실행 수준입니다. 아마도 그것은 당신이 일상적인 컴퓨터 사용을 위해 대부분의 물건을 가지고있는 곳일 것입니다.S02mysqlK02mysql

편집 : 아래 James O’Gorman의 의견을 읽으십시오.


답변

Upstart에서 서비스 구성은의 파일에 /etc/init/있습니다. 예를 들어 ssh는 구성 파일을 사용하여 제어됩니다./etc/init/ssh.conf

이 파일은 “이벤트”를 지정하여 Upstart가 “작업”을 시작하도록 프롬프트합니다.

서비스가 자동으로 시작되지 않도록하려면 여러 가지 방법 중 하나를 사용할 수 있습니다.
a) .conf로 끝나지 않도록 service.conf 파일의 이름을 바꿉니다.
b) service.conf 파일에서 “start on”줄을 주석 처리합니다.

최신 버전의 upstart (최소 v1.3 이후)에서는 service.override 파일을 사용하여 온라인 시작을 재정의 할 수 있으므로 다음을 사용할 수 있습니다.
# echo manual > /etc/init/service.override

마지막으로 다음과 같은 방법으로 키워드 “manual”을 서비스 구성 파일의 끝에 추가 할 수도 있습니다.
# echo manual >> /etc/init/service.conf

이렇게하면 실행중인 서비스가 “중지”되지 않고 자동으로 시작되지 않습니다. “수동”시작으로 설정된 동안 SSH 데몬을 중지하고 시작하는 등 initctl을 사용하여 서비스를 제어합니다.
# initctl stop ssh
# initctl start ssh

아마도 Upstart에 대한 최고의 문서는 http://upstart.ubuntu.com/cookbook/있습니다.

섹션 11.44는 “자동 시작에서 서비스 비활성화하기, 여기에 있습니다 : http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-automatically-starting


답변

글쎄, 나는 그 진술을

echo "manual" >> /etc/init/myjob.override

재정의 파일을 추가한다는 의미이므로 약간 오해의 소지가 있습니다. 14.04에서 네트워크 관리자로 테스트했으며 다음과 같이 작동하지 않았습니다.

vim /etc/init/network-manager.override:
start
manual

그러나 이것은 효과가 있었다

vim /etc/init/network-manager.override:
#start
manual

따라서 initctl 인 IMO는 주석 처리되지 않은 첫 번째 행을 찾아서 실행합니다. 어쩌면 내가 틀렸을 수도 있지만, 이것이 내 테스트 결과였습니다. 입력을 환영합니다.