시작시 서비스가 실행되도록 구성하는 방법


244

다음 service명령 으로 수동으로 시작하면 정상적으로 실행되는 데몬이 있습니다 .

ricardo@ricardo-laptop:~$ sudo service minidlna start                   
 * Starting minidlna minidlna                                                              [ OK ] 

PC가 재부팅 될 때 자동 시작되도록 구성되지 않았습니다.

PC에 아무도 로그인하지 않은 경우에도 자동으로 시작되도록 구성하려면 어떻게해야합니까?


@ user154721 자동 시작이 작동하도록 update-rc.d에 어떤 인수를 지정 했습니까? 나는 다양한 옵션을 시도했지만 운이 없었습니다.
BennyTheBen

자동 시작 프로그램으로 구성되어 autostart매니페스트 또는에서 *.service뿐만 아니라 같이 여러 위치에있는 파일 init.d이나 crontab. 다음을 참조하십시오 : unix.stackexchange.com/a/525845/43233
Noam Manos

답변:


281
sudo update-rc.d minidlna defaults

서비스가 자동 시작 시스템에 추가되어야합니다. 그러나 당신이 얻는다면 :

System start/stop links for /etc/init.d/minidlna already exist.

명령을 수행

sudo update-rc.d minidlna enable

PS : 자세한 내용은 다음 명령을 입력하여 update-rc.d 매뉴얼 페이지를 참조하십시오.man update-rc.d


7
고마워요,하지만 명령을 실행할 때이 출력이 나오면 어떻게합니까? :System start/stop links for /etc/init.d/minidlna already exist.
Ricardo Reyes

1
minidlna가 로그 파일에 쓰지 않으면 어디에서나 찾을 수 없습니다. 시작시 네트워크 연결이 없기 때문에 실패 할 수 있습니까? 가능한 경우 구성을 살펴보고 디버깅 및 / 또는 로깅을 켜서 무엇이 잘못되었는지 확인하십시오.
LassePoulsen

8
@RicardoReyes sudo update-rc.d -f minidlna remove는 기존 링크를 제거하는 데 사용 합니다.
Dogweather

5
오류 update-rc.d가 표시됩니다. /etc/init.d/usermanage : 파일이 없습니다
Rizwan Patel

2
또한 같은 오류가 발생했습니다 update-rc.d: /etc/init.d/mongod: file does not exist. 그런 다음 sudo systemctl enable mongod.service나를 위해 일했습니다.
탐험가

36

부팅 프로세스에서 스크립트를 실행해야하는 경우가 있습니다 (예 : 부팅 프로세스에서 iptables 구성 실행). 따라서 재부팅 할 때마다 스크립트를 수동으로 실행할 필요가 없습니다.

스크립트를 /etc/init.d/rc.local파일 에 추가하여 우분투 부팅 프로세스에서 스크립트를 실행할 수 있습니다 . 아래 단계를보십시오.

  1. 열기 /etc/rc.local이 명령을 사용하여 파일 :

    vim /etc/rc.local
    
  2. 부팅 프로세스에서 실행할 스크립트를 다음과 같이 추가하십시오.

    sh /home/ivan/iptables.sh 
    echo 'Iptable Configured!'
    
  3. 해당 파일에 포함 된 주석을 검토하고 종료 0이 끝에 있는지 확인하십시오.

  4. 파일을 저장하십시오. 그리고 스크립트는 부팅 과정에서 실행됩니다.


2
Ubuntu 12.04의 /etc/init.d/rc.local에 대한 의견은 "짧은 설명 : /etc/rc.local이있는 경우 실행"이라고 표시하므로 스크립트를 /etc/rc.local에 추가하는 것이 더 좋을까요?
Sanghyun Lee

이 방법으로 서비스에 "종료"명령을 내리거나 OS 종료시 프로세스를 종료합니까?
Vadim Chekan

Vadim, rc.local은 부팅시 바로 실행되며 종료시 아무것도 달성되지 않습니다. 프로세스는 종료시 OS에 의해 종료 될 가능성이 높습니다.
Weboide

1
참고 rc.local로 init에 추가하는 것과의 차이점은 rc.local이 init 시작 시퀀스의 끝이 아니라 일부에서 실행된다는 것입니다.
BobTuckerman

35
  • 시작할 때 데몬을 시작하려면

    update-rc.d service_name defaults
    
  • 제거:

    update-rc.d -f service_name remove
    

기본값 => 기본 실행 수준 2,3,4 및 5

예:

update-rc.d tomcat7 defaults

1
이 명령을 수행하면 "/etc/init.d/tomcat7에 대한 시스템 시작 / 중지 링크가 이미 있습니다"라는 메시지가 나타납니다. 그러나 재부팅 할 때 Tomcat이 시작되지 않으며 항상 "service tomcat7 start"를 수행해야합니다.
존 리틀

필자의 경우 sudo update-rc.d myservice default는 항상 출력없이 완료되며 서비스는 부팅시 시작되지 않거나 sudo 서비스 myservice start로 시작 되지 않으며 자동으로 완료됩니다. sudo는 /etc/init.d/myservice 시작은 그러나 작동
axk

13

Ubuntu 15.10 이후 (데비안 8 "jessie") 다음 명령을 사용하여 minidlna시작시 서비스 가 실행되도록 구성해야합니다 .

sudo systemctl enable minidlna.service

부팅시 다시 시작하지 못하게하려면 :

sudo systemctl disable minidlna.service

이것은에서 찾을 수있는 모든 서비스 이름 참조와 함께 작동합니다 ls /lib/systemd/system/*.service.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.