▪ PID가 1인 프로세스
💡 init Process : PID가 1인 프로세스
- 리눅스 부팅 과정
- 시스템 전원 공급
- BIOS (Basic Input / Output System)
- Boot Loader
- Kernel
- 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 → 네트워크 상태 정보 확인
- 프로그램
'OS > Linux' 카테고리의 다른 글
리눅스 패키지 시스템 (0) | 2022.12.01 |
---|---|
리눅스 배포판 (0) | 2022.12.01 |
리눅스 권한 체계 (0) | 2022.11.29 |
리눅스 Shell (0) | 2022.11.29 |
리눅스 Pipe (0) | 2022.11.28 |