Linux Service Commands


Linux에서 서비스를 관리하는 명령어들은 시스템에서 실행 중인 서비스의 시작, 중지, 재시작, 상태 확인 등을 수행하는 데 사용됩니다. 서비스 관리 명령어는 배포판에 따라 다를 수 있지만, 주요 명령어들을 설명하겠습니다.

System V Init (SysVinit) 시스템에서의 서비스 관리 명령어

1. service

service 명령어는 SysVinit 시스템에서 서비스를 관리하는 데 사용됩니다.

  • 사용법:
  • sudo service service_name start: 서비스를 시작.
  • sudo service service_name stop: 서비스를 중지.
  • sudo service service_name restart: 서비스를 재시작.
  • sudo service service_name status: 서비스의 상태를 확인.

2. /etc/init.d/

SysVinit 시스템에서는 서비스 스크립트가 /etc/init.d/ 디렉토리에 저장됩니다.

  • 사용법:
  • sudo /etc/init.d/service_name start: 서비스를 시작.
  • sudo /etc/init.d/service_name stop: 서비스를 중지.
  • sudo /etc/init.d/service_name restart: 서비스를 재시작.
  • sudo /etc/init.d/service_name status: 서비스의 상태를 확인.

systemd 시스템에서의 서비스 관리 명령어

systemd는 많은 현대적인 Linux 배포판에서 사용하는 시스템 및 서비스 관리자입니다.

1. systemctl

systemctl 명령어는 systemd 시스템에서 서비스를 관리하는 데 사용됩니다.

  • 사용법:
  • sudo systemctl start service_name: 서비스를 시작.
  • sudo systemctl stop service_name: 서비스를 중지.
  • sudo systemctl restart service_name: 서비스를 재시작.
  • sudo systemctl reload service_name: 서비스를 다시 로드(구성 파일을 다시 읽음).
  • sudo systemctl status service_name: 서비스의 상태를 확인.
  • sudo systemctl enable service_name: 부팅 시 서비스를 자동으로 시작.
  • sudo systemctl disable service_name: 부팅 시 서비스를 자동으로 시작하지 않음.
  • sudo systemctl is-enabled service_name: 서비스가 부팅 시 자동으로 시작되는지 확인.
  • sudo systemctl is-active service_name: 서비스가 현재 활성 상태인지 확인.
  • sudo systemctl list-units --type=service: 활성화된 모든 서비스 목록을 표시.
  • sudo systemctl daemon-reload: systemd 데몬을 다시 로드 (새로운 서비스 파일 적용).

Upstart 시스템에서의 서비스 관리 명령어

Upstart는 Ubuntu의 초기 버전에서 사용되던 이벤트 기반 init 시스템입니다.

1. initctl

initctl 명령어는 Upstart 시스템에서 서비스를 관리하는 데 사용됩니다.

  • 사용법:
  • sudo initctl start service_name: 서비스를 시작.
  • sudo initctl stop service_name: 서비스를 중지.
  • sudo initctl restart service_name: 서비스를 재시작.
  • sudo initctl status service_name: 서비스의 상태를 확인.

2. service

Upstart에서도 service 명령어를 사용할 수 있습니다.

  • 사용법:
  • sudo service service_name start: 서비스를 시작.
  • sudo service service_name stop: 서비스를 중지.
  • sudo service service_name restart: 서비스를 재시작.
  • sudo service service_name status: 서비스의 상태를 확인.

실습 예제

systemd 기반 시스템 (예: Ubuntu 16.04 이후, CentOS 7, Fedora 15 이후)

  1. 서비스 시작 및 중지:
   sudo systemctl start nginx
   sudo systemctl stop nginx
  1. 서비스 재시작 및 상태 확인:
   sudo systemctl restart nginx
   sudo systemctl status nginx
  1. 서비스 활성화 및 비활성화:
   sudo systemctl enable nginx
   sudo systemctl disable nginx
  1. 활성화된 모든 서비스 나열:
   sudo systemctl list-units --type=service
  1. 데몬 재로드:
   sudo systemctl daemon-reload

SysVinit 기반 시스템 (예: CentOS 6, Debian 7)

  1. 서비스 시작 및 중지:
   sudo service httpd start
   sudo service httpd stop
  1. 서비스 재시작 및 상태 확인:
   sudo service httpd restart
   sudo service httpd status
  1. /etc/init.d/ 스크립트를 사용하여 서비스 관리:
   sudo /etc/init.d/httpd start
   sudo /etc/init.d/httpd stop

서비스 관리 요약

  • systemd: 현대적인 Linux 배포판에서 널리 사용되며, systemctl 명령어를 사용하여 서비스 관리.
  • SysVinit: 전통적인 init 시스템으로, service/etc/init.d/ 스크립트를 사용하여 서비스 관리.
  • Upstart: Ubuntu의 초기 버전에서 사용되던 시스템으로, initctl 명령어를 사용하여 서비스 관리.

이 명령어들은 시스템의 다양한 서비스를 관리하고 모니터링하는 데 필수적이며, 각 명령어는 다양한 옵션을 제공하여 시스템 관리자의 요구에 맞게 사용할 수 있습니다.


Leave a Reply

Your email address will not be published. Required fields are marked *