"/etc/init.d/nameofservice start" 대신 "service" 명령을 사용하여 서비스를 시작하고 중지하는 방법은 무엇입니까?

"/etc/init.d/nameofservice start" 대신 "service" 명령을 사용하여 서비스를 시작하고 중지하는 방법은 무엇입니까?

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

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

위의 httpd 서비스가 service 키워드로 구성되지 않은 경우 다음 명령을 사용하여 서비스를 시작하는 방법은 무엇입니까?

2) 'nameofservice' 서비스가 시작됩니다. 예: service httpd start.

/etc/init.d/nameofservice 대신 서비스 키워드(예: "service 'nameofservice' start"(service 키워드가 있는 옵션 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 이외의 명령을 지정하면 사용법 메시지가 인쇄됩니다.

관련 정보