본문으로 건너뛰기
Linux · CLI 기초집LESSON 14

서비스와 로그 기초: systemctl, journalctl, tail -f

난이도입문 → 초급
예상 시간30분
선수지식이전 강의

14강. 서비스와 로그 기초: systemctl, journalctl, tail -f

1. 이번 강의에서 해결할 문제​

서버 프로그램이 실행되지 않을 때 재시작부터 반복하면 최초 오류가 사라질 수 있습니다. 서비스 상태와 최신 로그를 먼저 수집하고 WSL의 systemd 지원 여부를 구분합니다.

2. 학습 목표​

3. 핵심 개념​

systemd는 많은 Linux 배포판에서 PID 1로 실행되는 서비스 관리자이고 systemctl은 상태를 조회·제어합니다. 최신 기본 Ubuntu WSL 설치는 systemd를 지원하지만 배포판과 WSL 버전에 따라 다를 수 있습니다. journalctl은 systemd 저널을 읽고, 애플리케이션 파일 로그는 tail -f로 새 줄을 관찰할 수 있습니다.

Microsoft WSL systemd 공식 문서에서 현재 기본값과 활성화 절차를 확인합니다.

4. 단계별 명령어와 예시​

1. Ubuntu Bash(WSL)​

실행 위치: 어느 디렉터리에서나 가능

대상: 현재 init과 systemd 상태

Ubuntu Bash(WSL)
ps -p 1 -o pid,comm,args
systemctl is-system-running || true
systemctl list-units --type=service --state=running --no-pager | head

예상 결과: PID 1의 프로그램과 systemd 실행 상태, 실행 중 서비스 일부가 표시됩니다.

2. Ubuntu Bash(WSL)​

실행 위치: 프로젝트 루트

대상: 과정용 reports/run.log

Ubuntu Bash(WSL)
cd "$HOME/projects/game-log-analyzer"
printf "analysis ok\n" >> reports/run.log
tail -n 5 reports/run.log
# 새 줄을 실시간으로 볼 때만 실행하고 Ctrl+C로 종료합니다.
tail -f reports/run.log

예상 결과: 최근 로그가 표시되고 tail -f는 새 줄을 기다립니다. Ctrl+C로 안전하게 종료합니다.

5. 명령어가 동작하는 이유​

systemctl은 systemd가 관리하는 unit 상태를 조회하고 journalctl은 해당 서비스의 구조화된 로그를 읽습니다. tail -f는 파일 끝을 계속 관찰할 뿐 서비스를 제어하지 않습니다.

6. 자주 하는 실수와 안전한 해결법​

7. 직접 실습​

8. 이해 점검 질문 3개​

9. 핵심 요약​

MINI QUIZ

서비스와 로그 기초: systemctl, journalctl, tail -f 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“서비스와 로그 기초: systemctl, journalctl, tail -f” 코드 리뷰에서 유지해야 할 설계 원칙은 무엇인가요?
  2. 문제 2“서비스와 로그 기초: systemctl, journalctl, tail -f”에서 ‘상태 확인 없이 서비스 재시작’ 문제가 생겼습니다. 가장 알맞은 진단 또는 대응은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

14강. 서비스와 로그 기초: systemctl, journalctl, tail -f 미완료 상태