systemctl — 서비스 관리

Linux / 서비스 및 프로세스 관리 / systemctl.html

서비스 및 프로세스 관리원문등록 2026-10-18

💬 "systemctl 명령어"

systemctl은 서비스(유닛)를 제어합니다. 시작·중지·재시작·부팅 등록이 모두 여기 있습니다.

장애 대응에서는 status로 상태와 최근 로그를 함께 봅니다.

  • 개념: systemd 유닛을 관리합니다(서비스, 타이머, 소켓 등).
  • status: 활성 상태, 마지막 종료 코드, 최근 로그를 보여줍니다.
  • enable/disable: 부팅 시 자동 시작 여부를 설정합니다.
  • daemon-reload: 유닛 파일을 수정한 뒤 반드시 실행합니다.

자주 쓰는 옵션

옵션설명
start/stop/restart서비스 시작/중지/재시작
enable --now부팅 등록과 즉시 시작을 함께
status상태와 최근 로그 확인
reload중단 없이 설정을 다시 읽게 합니다(지원하는 서비스만)

필수 명령어 조합 3가지

  • systemctl status myapp --no-pager — 서비스 상태와 최근 로그 확인
  • systemctl restart myapp && systemctl is-active myapp — 재시작 후 동작 확인
  • systemctl enable --now myapp — 부팅 등록 + 즉시 시작

💬 "실제 운영 로그를 예로 든 예시 하나 부탁해"

실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.

1단계 · 상태 확인

현재 활성 상태와 마지막 오류를 봅니다.

systemctl status myapp --no-pager

2단계 · 설정 반영

유닛을 수정했다면 다시 읽게 하고 재시작합니다.

systemctl daemon-reload && systemctl restart myapp

3단계 · 검증

활성 상태와 로그를 확인합니다.

systemctl is-active myapp && journalctl -u myapp -n 20 --no-pager

실무에서는 이렇게 씁니다

1. 설정 변경 반영

상황 — myapp 유닛의 환경변수를 바꿨습니다.

systemctl daemon-reload && systemctl restart myapp

결과 — 새 설정으로 서비스가 재시작됩니다.

포인트 — daemon-reload를 빼먹으면 이전 설정이 그대로 남습니다.

2. 부팅 후 서비스가 안 뜸

상황 — 재부팅하면 서비스가 내려가 있습니다.

systemctl is-enabled myapp && systemctl enable myapp

결과 — 비활성 상태였다면 enable로 부팅 등록합니다.

포인트 — is-enabled로 자동 시작 여부를 먼저 확인합니다.

주의할 점

  • restart는 잠깐 서비스가 끊깁니다. 무중단이 필요하면 reload 지원 여부를 확인합니다.
  • stop 후 start를 잊으면 서비스가 내려간 채 남습니다.
  • 유닛 파일을 손으로 고치면 반드시 daemon-reload를 실행합니다.
  • 운영 중 서비스 중지는 사용자 승인 후 진행합니다.

실제 실행 화면

서비스 상태와 최근 로그를 확인한 결과입니다.

systemctl 명령어 실행 결과: 서비스 상태

실제 운영 중인 서버

이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.