init.d 시작 스크립트를 만드는 방법


8

시작시 매우 간단한 명령을 실행하고 싶습니다. 어떻게해야합니까? Google을 검색했는데 매우 복잡한 예가 있지만 시작 시이 스크립트를 실행하면됩니다. 어떻게해야합니까?

스크립트

./init.d/opscenter-agent start

답변:


8

당신이로이 작업을 수행하려면 시스템 (당신이 당신의 컴퓨터에 로그인 할 때 반대) 시작, 당신이 실행하려는 명령을 넣어 /etc/rc.local.

[Ubuntu] 시작 및 종료시 스크립트 실행을 참조하십시오 .


OP는 특히 init.d 스크립트를 요청했지만 실제로는 그렇지 않습니다. 그것은 우리가 30 년 전에 일을했던 방식이기 때문에 관련 접근 방식이며, init.d와 같은 새로운 접근 방식 덕분에 이제는 결코하지 않습니다. (systemd의 / etc / init를 위해 더 이상 사용되지 않습니다).
mc0e

3

스크립트를 루트로 실행할 필요가없는 경우 다음을 수행 할 수 있습니다.

1) "시작 응용 프로그램 환경 설정"을 열고 ( Alt+ F2붙여 넣기 gnome-session-properties및 누르기 Enter)

2) "추가"를 누르고 스크립트를 선택하십시오 :

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


그래픽 환경을 사용하지 않는 exit 0경우이 파일 의 행 바로 앞에 명령을 넣을 수 있습니다 /etc/rc.local. (편집하려면 터미널에 붙여 넣으십시오 sudo nano /etc/rc.local.


GUI가없는 데비안 서버를 관리하기 위해 퍼티를 사용하고 있기 때문에 좋지 않습니다 :)
sed

이 파일에 명령 (또는 스크립트 링크)을 넣을 수 있습니다./etc/rc.local
desgua

이것은 OP가 요청한 init.d 스크립트의 대안입니다.
mc0e

1

/etc/rc.local 접근 방식은 '시작할 때 매우 간단한 명령을 실행'하지만, init.d 스크립트 접근 방식은 아니며 다양한 방식으로 열등합니다. 목적에 따라 중요하지 않을 수 있습니다.

init.d 스크립트와 달리 rc.local comands는 프로세스 시작 및 중지에 대한 표준 인터페이스를 제공하지 않으며 시작 프로세스에서 실행될 때 영향을주는 많은 기능을 제공하지 않습니다. /etc/init.d/rc.local스크립트에서 이것이 다른 모든 후에 실행된다는 것을 알 수 있습니다 ( Required-Start: $all).

init.d 스크립트가 실제로 원하는 것이라면, 기존 스크립트 중 일부는 원하는 것보다 복잡하지만 일반적으로 기존 스크립트를 가져 와서 복사하고 편집하는 것이 좋습니다. 이것이 대부분의 init.d 스크립트가 시작되는 방식이므로, 우분투는이를 위해 /etc/init.d/skeleton을 제공합니다.

또한 볼만한 가치가 있습니다.

  • /etc/init.d/motd시작시 무언가를 실행하는 최소한의 예이지만 Required-Start매개 변수 설정이 필요할 때 설정합니다.
  • /etc/init.d/cron데몬 프로세스의 간단한 시작점입니다 ( parse_environment필요하지 않은 기능을 제공하거나 취하십시오 ).
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.