IT/Unix & Linux

[Linux] service 명령 사용시 주의사항

슈다루냥 2019. 6. 5.

안녕하세요. 슈다 입니다.

리눅스에서 service 명령 사용시 주의사항을 알아보겠습니다.

 

service 명령은 데몬의 서비스 상태 확인이나 종료, 시작 등에 사용 가능한 명령어 입니다.

서비스 데몬명을 입력해서 사용할 수도 있고, all 을 입력하여 사용할 수도 있습니다.

- 특정 서비스 데몬의 현재 상태 확인

# service [서비스데몬명] status

 

- /etc/init.d/ 경로에 존재하는 모든 스크립트에 대해 status 확인

# service --status-all

 

여기서 주의할 것은, service --status-all 명령 수행 시 /etc/init.d/ 디렉토리 내의 모든 script가 [status] 값을 받아 실행되는데,

실행되는 스크립트에 [status] 값에 대한 내용이 정의되어 있다면 문제가 되지 않지만

그렇지 않다면 [status] 를 받아들이지 못한 상태로 스크립트 내용이 실행됩니다.

 

/etc/init.d/ 에 추가된 스크립트가 특정 프로세스나 서비스를 실행하거나 kill 하는 내용이 포함되어 있는데

status 값에 대한 스크립트 수행이 정의되지 않은 경우 위 명령 실행 시 의도치 않게 현재 실행중인 서비스를 kill 하거나 새로운 서비스가 실행되는 등의 문제가 발생할 수 있습니다.

/etc/init.d/ 에 새로운 스크립트를 추가했을 경우 [status] 값에 대한 내용을 정의해 주어야 겠습니다.

 

예를들어 /etc/init.d/vsftpd 의 경우 status 값을 아래와 같이 실행하는 구문이 포함되어 있습니다.

status)

         status $prog

         RETVAL=$?

         ;;

반응형