본문 바로가기

직접 만든 소프트웨어, 두 가지 개발 기록

구현 구조와 적용 범위, 확인한 기능과 남은 한계를 함께 기록합니다.

소프트웨어개발

systemd 설정이 반영되지 않을 때: daemon-reload·reload·restart 구분

by 아빠띠띠뽀 2026. 10. 26.

서버 설정과 실행 기록을 단계별로 확인하는 개념 그림
직접 생성한 개념 이미지입니다. 실제 서비스 화면이나 구축·성능 시험 결과가 아닙니다.

systemd 유닛 파일을 수정했다면 daemon-reload로 관리자에게 다시 읽게 해야 합니다. 그러나 이것만으로 실행 중인 서비스가 새 실행 조건으로 바뀌지는 않습니다. 서비스 자체 설정 재읽기와 프로세스 재시작을 구분하세요.

적용 환경: systemd 255 공식 문서 기준; 설치 버전과 배포판 정책은 적용 전 확인. 자료 확인일: 2026-10-25. 문서 기반 안내이며 실제 운영 시험 결과가 아닙니다.

1. 원인: 서로 다른 설정 파일을 같은 방식으로 반영

동작 대상
daemon-reload systemd 관리자와 유닛 구성
reload 서비스 자체의 지원되는 설정 재읽기
restart 서비스를 중지한 뒤 다시 시작

웹 서버 설정과 systemd 서비스 유닛은 담당하는 프로그램이 다릅니다. 변경한 파일이 어느 쪽의 입력인지부터 적어 두면 불필요한 재시작을 줄일 수 있습니다.

2. 해결: 대상과 기존 구성을 먼저 확인

아래 app.service는 예시 이름입니다. 실제 유닛 이름을 확인하고 조회 권한이 있는 환경에서 실행합니다. 출력에 민감한 경로나 인자가 있을 수 있으므로 공유할 때 검토하세요.

systemctl cat app.service
systemctl status app.service --no-pager

유닛을 직접 수정한 경우 관리자 구성을 다시 읽는 단계와 서비스에 적용하는 단계를 분리합니다. 시스템 유닛의 변경에는 관리 권한과 승인된 작업 시간이 필요할 수 있습니다.

sudo systemctl daemon-reload

이 명령 뒤 무조건 restart를 이어 붙이지 않습니다. ExecStart나 실행 환경처럼 다음 시작에 적용할 변경인지, 서비스가 reload를 지원하는 자체 설정인지 검토한 뒤 필요한 동작을 선택합니다. 사용자 유닛은 systemctl --user 범위를 혼동하지 마세요.

3. 확인: 명령 성공과 서비스 동작을 함께 확인

명령이 오류 없이 끝났다는 사실과 원하는 설정이 실제 적용됐다는 사실은 다릅니다. 서비스 상태와 관련 로그, 애플리케이션의 설정 조회 또는 기능 응답을 함께 비교하세요. 단순 PID 비교만으로 모든 설정의 반영 여부를 판정하지 않습니다.

운영 서비스의 재시작은 연결 중단을 만들 수 있습니다. 먼저 시험 환경에서 설정을 검토하고 기존 유닛·설정 파일과 복구 절차를 보존합니다. 실패하면 변경한 파일과 작업 순서를 기준으로 되돌리고 다시 검증합니다.

4. 주의와 FAQ

daemon-reload가 서비스를 다시 시작하나요? 관리자 구성 재읽기이며 서비스 재시작 명령과 다릅니다.

reload를 지원하지 않는 서비스는요? 서비스 설명서와 유닛 구성을 확인해 승인된 재시작 절차를 선택해야 합니다. 명령 이름만 바꾸어 반복 실행하지 않습니다.

이 글의 명령을 시험했나요? systemd 255 공식 문서 기반 예시입니다. 실제 운영 서버에서 실행·중단 시험을 수행하지 않았습니다.

공식 출처와 관련 글

systemctl.html

systemd 최초 실패와 재시작 제한 점검