"/etc/init.d/nameofservice start" 대신 "service" 명령을 사용하여 서비스를 시작하고 중지하려면 어떻게 해야 합니까?

"/etc/init.d/nameofservice start" 대신 "service" 명령을 사용하여 서비스를 시작하고 중지하려면 어떻게 해야 합니까?

다음 명령을 사용하여 서비스(httpd)를 시작합니다.

/etc/init.d/'name of service' start

위의 httpd 서비스에 대해 서비스 키워드가 구성되지 않은 경우 아래 명령을 사용하여 서비스를 시작하려면 어떻게 해야 합니까?

2)서비스 '서비스 이름' 시작 예: 서비스 httpd 시작

/etc/init.d/nameofservice 대신 서비스 키워드(예: "service 'nameofservice' start"(옵션 2와 같은 서비스 키워드))를 사용하여 시작 및 중지할 수 있는 서비스를 구성하려면 어떻게 해야 합니까?

답변1

service(8) 명령은 /etc/init.d에서 스크립트를 찾습니다. 해당 스크립트가 없으면 직접 작성해야 할 수도 있습니다. 웹에서 찾을 수 있습니다.그렇게 하는 데 도움이 되는 가이드.

답변2

아래 스크립트는 Centos 5에서 테스트되었습니다. 현재 날짜와 시간 및 출력을 로그 파일에 출력하고 timed라는 이름으로 저장하는 스크립트를 만듭니다.

vim /opt/timed     


 #!/bin/bash 
while true;do
      echo  `date` >> /tmp/timed.log 
done #script finish here below line enable execute permission of script

 chmod +x /opt/timed

이제 시간 제한 스크립트를 시작하고 중지하는 System V 스크립트를 작성하겠습니다.

vim /etc/init.d/time (save the script only in /etc/init.d directory only with the name of your choice we use name time here)


  #!/bin/bash  
  # chkconfig: 345 80 20      
  # description: startup script for /opt/timed daemon  
start() {  
nohup /opt/timed &  
}  
stop() {  
pkill timed  
}  
case "$1" in  
             start)   
                   start  #calling the start () function  
             ;;  
             stop)  
                   stop # calling the stop() function
             ;;  
             *)
                   echo "Usage: $0 {start|stop}"  
                   RETVAL=1 #we return the value 1 bcz cmd is not sucessfull  
  esac
  exit 0



 chmod +x /etc/init.d/time  (enabling the execute permission of script)
 service time start    (it will start the script timed)
 ps –ef | grep timed (we can check that script is running with this command)

스크립트 설명

시간 스크립트는 디렉터리에 있어야 합니다 /etc/init.d. chkconfig: 345 80 20스크립트 345의 필수 구성 요소는 3,4 및 5 런레벨을 나타냅니다. 20은 시작 명령이 /etc/rc3/ 디렉토리에 번호 20(S20)을 갖는다는 것을 의미합니다. 80은 중지 명령이 /etc/rc3/ 디렉토리에 80(k80) 번호를 갖는다는 것을 의미합니다.

start()stop()데몬을 시작하고 중지하는 기능입니다 . 백그라운드에서 Unix 작업을 실행하고(&, bg 명령 사용) 세션에서 로그아웃하면 프로세스가 종료됩니다. nohup을 사용하여 작업을 실행하거나 at, 배치 또는 cron 명령을 사용하여 배치 작업으로 만드는 등 여러 가지 방법을 사용하여 이를 방지할 수 있습니다. PKill 명령을 사용하면 간단히 이름을 지정하여 프로그램을 종료할 수 있습니다. $1은 첫 번째 인수를 취합니다. $0은 스크립트 이름을 의미합니다. RETVAL은 0이면 스크립트가 성공적으로 실행되고 1이면 스크립트가 성공적으로 실행되지 않는 경우 스크립트의 종료 상태와 같은 환경 변수입니다. start 또는 stop 이외의 명령을 지정하면 사용법 메시지가 인쇄됩니다.

관련 정보