리눅스 우분투에서 시작시 자동으로 프로그램을 실행합니다.


140

우분투 리눅스를 시작할 때마다 실행되는 프로그램이 필요합니다. 시작 프로그램 목록에 추가해야합니다. 단 하나의 문제 : 터미널을 통해해야합니다.



23
@Flexo이 답변은 귀하가 제공 한 링크 중 어느 것도 아닙니다. 이 질문에 대답 +1
프란시스코 발데즈

2
실제로, 여기에 대한 답변은 해당 질문 중 첫 번째 질문에서 참조됩니다.
Wilson F

4
간단하고 이식 가능한 방법으로 Cron을 사용할 수 있습니다. 실행 crontab -e하여 사용자의 crontab을 편집하십시오. 부팅 할 때마다 추가 @reboot command합니다 command.
appas

2
의 중복 여부를하지만 첫 구글 히트 경우 나는 잘 모릅니다 ..
블라디미르 verleg에게

답변:


178
sudo mv /filename /etc/init.d/
sudo chmod +x /etc/init.d/filename 
sudo update-rc.d filename defaults 

스크립트가 부팅시 시작됩니다. 이 방법은 하드 링크와 심볼릭 링크 ( ln) 에서도 작동합니다 .

편집하다

부팅 프로세스의이 시점에서 PATH는 아직 설정되지 않았으므로 전체에서 절대 경로를 사용하는 것이 중요합니다. 그러나 Steve HHH의 의견에서 지적했듯이 /etc/init.d/filenameupdate-rc.d 명령 의 전체 파일 경로 ( )를 명시 적으로 선언하는 것은 대부분의 Linux 버전에서 유효하지 않습니다. 당 갱신-rc.d에 대한 맨 페이지 , 두 번째 매개 변수에있는 스크립트입니다/etc/init.d/* . 이를 반영하기 위해 위의 코드를 업데이트했습니다.

다른 편집

또한 Charles Charlest의 의견에서 지적한 것처럼 /filenameinit 스타일 스크립트 여야합니다. 좋은 템플릿도 제공했다 - https://github.com/fhd/init-script-template .

가능한 링크 썩음을 피하기 위해 다른 기사에 대한 또 다른 링크 (GitHub가 사망하면 슬프지만)- http://www.linux.com/learn/tutorials/442412-managing-linux-daemons-with-init-scripts

yet 또 다른 편집

의견에서 지적한 것처럼 (Russell Yan의) 이것은 update-rc.d의 기본 모드에서만 작동합니다.

update-rc.d의 매뉴얼에 따르면, "레거시 모드를 사용하는 머신에는 파일이 있습니다"라는 두 가지 모드에서 실행될 수 있습니다. /etc/init.d/.legacy-bootordering이 경우 명령 행 인수를 통해 시퀀스 및 런레벨 구성을 전달해야합니다.

위 예제에서 설정 한 동등한 인수는

sudo update-rc.d filename start 20 2 3 4 5 . stop 20 0 1 6 .


1
참고로“defaults”옵션은 스크립트를 실행 레벨 2, 3, 4 및 5에서 시작하는 링크를 제공합니다 (0, 1 및 6에서 중지하도록 링크를 설정합니다)
Dave Lasley

5
방금 Ubuntu Server 12.04 LTS에서 시도했지만 12.04에서는 /etc/init.d 접두사를 가질 수 없습니다. 그냥 sudo update-rc.d filename defaults.
Steve HHH

1
@puk 하드 링크와 심볼릭 링크 모두이 방법으로 작동합니다
Dave Lasley

14
이 경우 / filename을 init 스타일 스크립트로 추가하고 싶었습니다. 다음은 사용자 정의 초기화 스크립트를 시작하기위한 템플릿입니다. github.com/fhd/init-script-template
Charles Brandt

1
이 글을 읽고 -unix.stackexchange.com/questions/28679/…- 답변과 함께 도움이 될 것입니다
Arjun Sreedharan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.