uuuhhh
아주조코
uuuhhh
  • 전체 (68)
    • Cloud (22)
      • AWS (17)
      • NCP (4)
      • Tech (1)
    • Kubernetes (16)
    • Docker (1)
    • CI/CD (13)
    • Network (4)
    • OS (10)
      • Linux (9)
      • Concepts (1)
    • Language (0)
      • Golang (0)
    • Project (1)
      • Drone (1)
    • 요모조모 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • ⚠️ 2022/11/08 - 11/13 블로그 이관 작업 ⋯

인기 글

태그

  • network
  • EC2
  • 데이터베이스
  • LoadBalancer
  • docker
  • NKS
  • ncp
  • Instance
  • argocd
  • build
  • Linux
  • Iam
  • Jenkins
  • NodePort
  • kubernetes
  • service
  • AWS
  • CI
  • minikube
  • pod

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
uuuhhh

아주조코

init vs. systemd
OS/Linux

init vs. systemd

2022. 12. 1. 10:45

▪ PID가 1인 프로세스


 

💡 init Process : PID가 1인 프로세스

 

  • 리눅스 부팅 과정
    1. 시스템 전원 공급
    2. BIOS (Basic Input / Output System)
    3. Boot Loader
    4. Kernel
    5. init

 

  • 커널 부팅이 완료된 후 첫 번째로 생성한 프로세스
  • 커널이 직접 실행하는 유일한 프로세스
  • 부모 프로세스가 없음
    • PPID → 0

 

  • 모든 프로세스는 init(PID : 1)을 부모 프로세스(PPID)로 가진다.
    • 모든 프로세스의 조상님
  • 모든 스레드는 kthreadd(PID : 2)를 부모 프로세스(PPID)로 가진다
    • 모든 스레드의 조상님

 

 

▪ systemd 란?


  • init 프로세스의 한 종류

 

  • init 프로세스의 변천사
    • SysV init → systemd

 

  • SysV init
    • 직렬 처리 방식의 부팅
      • 순서대로 프로세스 실행 → 느림

 

↔ 호환 가능

 

  • systemd
    • 병렬 처리 방식의 부팅
      • 빠름
    • 다양해진 Unit
      • sshd.service
      • sshd.socket
    • cgroup 제어
    • 시스템 상태 저장 후 사용 snapshot 기능 지원
    • journald 이벤트 로깅 데몬과 같은 여러 다양한 API 지원
    • 등..

 

 

▪ systemd 기능


  • systemd 상태 모니터링

 

  • systemctl status
    • 실행 중인 유닛의 상태 정보를 출력
    • 유닛들을 cgroup으로 묶어서 출력

 

  • systemctl --failed
    • 오작동 유닛 확인
    • 흠.. 현재는 모두 멀쩡한가 봅니다..

 

  • systemctl (= systemctl list-units)
    • 로딩된 유닛들 출력
    • 유닛 파일 이름 / 활성화 상태 / 상세 설명 제공

 

  • systemctl list-unit-files
    • 설치된 파일 출력
    • 로딩되지 않았더라도 유닛 파일(.service, .device, ..)의 모든 서비스 출력

 

  • systemd 유닛 / 서비스 컨트롤 명령어
  영구히 적용 (재부팅 시 유지) 일회성 적용  
시작 / 등록 enable start restart
종료 / 해제 disable stop  

 

  • 유틸리티 제공
    • 프로그램
      • journalctl → 시스템의 서비스와 커널 로그 확인
      • networkctl → 네트워크 상태 정보 확인

journalctl 명령어
networkctl 명렁어

저작자표시 (새창열림)

'OS > Linux' 카테고리의 다른 글

리눅스 패키지 시스템  (0) 2022.12.01
리눅스 배포판  (0) 2022.12.01
리눅스 권한 체계  (0) 2022.11.29
리눅스 Shell  (0) 2022.11.29
리눅스 Pipe  (0) 2022.11.28
    'OS/Linux' 카테고리의 다른 글
    • 리눅스 패키지 시스템
    • 리눅스 배포판
    • 리눅스 권한 체계
    • 리눅스 Shell
    uuuhhh
    uuuhhh
    피땀눈물의 삽질기

    티스토리툴바