유저레벨엣 가장 먼저 실행되는 최상위 프로세스로 systemd가 거의 모든 프로세스 관리중
유닛이라는 단위를 통해 시스템 전반적인 관리
systemctl 명령어를 통해 유닛들의 상태 확인 및 제어
[root@rocky9 ~]# ps -ef | grep systemd
root 1 0 0 09:17 ? 00:00:02 /usr/lib/systemd/systemd text --switched-root --system --deserialize 31
root 590 1 0 09:17 ? 00:00:00 /usr/lib/systemd/systemd-journald
root 591 1 0 09:17 ? 00:00:00 /usr/lib/systemd/systemd-udevd
root 706 1 0 09:17 ? 00:00:00 /usr/lib/systemd/systemd-logind
vagrant 1104 1 0 09:17 ? 00:00:00 /usr/lib/systemd/systemd --user
root 2986 1138 0 10:18 pts/0 00:00:00 grep --color=auto systemd
init 프로세스에서 systemd로 대체되면서 init프로세스의 스크립트에 대한 호환성과 Run Level을 제한적 지원
프로세스의 관리를 위해 systemd 유닛별 분류
시스템 부팅 시 최소한의 서비스만 실행해 부팅 시간 단축
이후 서비스들은 병렬로 실행되며 이 때 Socket 기능이 사용됨
/etc/systemd/sytem : 시스템 관리자가 수동으로 생성 및 관리하는 유닛 저장
/run/systemd/system : 시스템이 런타임 상태일 때 임시로 유닛파일 저장
/usr/lib/sys-temd : 사용자가 패키지를 특정 유닛이 포함된 패키지를 설치하면 저장
Unit, 유닛의 유형, Install 3개의 섹션으로 구성
systemd 유닛 관리 명령
| 옵션 | 설명 |
|---|---|
list-unit-files | 시스템에 설치된 모든 유닛 파일 목록 표시 |
start [unit] | 지정된 유닛을 시작 |
stop [unit] | 지정된 유닛을 중지 |
restart [unit] | 지정된 유닛을 재시작 |
enable [unit] | 부팅 시 지정된 유닛을 자동으로 활성화 |
disable [unit] | 부팅 시 지정된 유닛을 자동으로 비활성화 |
status [unit] | 지정된 유닛의 상태를 표시 |
daemon-reload | 유닛 파일 변경 사항을 다시 로드 |
is-active [unit] | 유닛이 현재 활성 상태인지 확인 |
is-enabled [unit] | 유닛이 부팅 시 자동으로 활성화되는지 확인 |
Description, 유닛파일 경로, 활성화 상태, 실행 및 보조상태, Documentation 옵션 지정 값, 유닛파일 주 PID, Cgroup 프로세스 목록, 로그 등 출력
