나는 일반적으로 사용 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는 기본 다중 사용자 실행 수준입니다. 아마도 그것은 당신이 일상적인 컴퓨터 사용을 위해 대부분의 물건을 가지고있는 곳일 것입니다.S02mysql
K02mysql
편집 : 아래 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는 주석 처리되지 않은 첫 번째 행을 찾아서 실행합니다. 어쩌면 내가 틀렸을 수도 있지만, 이것이 내 테스트 결과였습니다. 입력을 환영합니다.