# show all services that has been loaded at boot and are active now
systemctl list-units --type service
# all services no matter they are active or not
systemctl list-units --type service --all
참고로 systemctl enable /diable 은 부팅시 자동실행 여부를 선택하는 것 이고
systemctl start/stop 은 지금 서비스를 켜고 끄는 것을 의미한다.
reload는 갱신
------------------------------------------
service에 대한 명령어 모음
# systemd-analyze : 부팅에 걸린시간 표시
# systemd-analyze blame : 부팅시 서비스별 걸린 시간표시
# journalctl : 부팅을 포함한 전체적인 시스템 로그
# journalctl -b : 마지막 부팅 이후 시스템 로그
# hostnamectl : 호스트 이름표시
# hostnamectl set-hostname [변경이름] : 호스트이름 변경
systemd 에서 서비스 관리하기
A. 서비스 상태표시
- 존재하는 전체 서비스 목록
# systemctl
- 서비스 목록 (활성화 여부만 표시)
# systemctl list-unit-files
- 부팅시 실행에 실패한 서비스목록
# systemctl --failed
- 서비스 활성화 여부
# systemctl is-enabled [서비스명]
- 서비스 현재 동작 여부
# systemctl is-active [서비스명]
- 서비스의 자세한 상태 (해당 서비스의 로그도 표시)
# systemctl status -l [서비스명]
B. 서비스 제어
서비스를 활성화하게 되면 부팅시 해당 서비스가 자동실행됩니다.
- 서비스 활성화
# systemctl enable [서비스명]
- 서비스 비활성화
# systemctl disable [서비스명]
- 서비스 시작
# systemctl start [서비스명]
- 서비스 종료
# systemctl stop [서비스명]
- 서비스 재시작
# systemctl restart [서비스명]
- 서비스 갱신
# systemctl reload [서비스명]
위의 서비스 설정을 데몬에 즉시 반영하려면 아래 명령어를 실행하면 됩니다.
#systemctl daemon-reload
- 서비스와 관련된 프로세스도 모두 죽임
# systemctl kill [서비스명]
restart와 reload의 차이점
service restart는 service를 재시작하는 것. 서비스를 완전히 shutdown한다음에 다시 시작한다.
service reload는 해당 service에게 그것의 configuration 파일들을 reload하라고 명령한다. 이말은 configuration을 reload하는 것이 충분해야만 한다는 것이다.
하지만 아마 특정한 서비스들은 이와 같은 rule을 따르지 않을 수도 있고, config file들을 reload 하지 않을 수도 있다.
이런 것 때문에 아마 service를 restart하는 것이 더 안전할 수 있다.
service파일에서는 환경변수가 일반 쉘과 다르게 적용되지 않는다. 실수 조심!
출처 : 서비스 목록 확인과 서비스 명령어들, reload와 restart의 차이점 (tistory.com)
'IT > 리눅스마스터1급' 카테고리의 다른 글
[Linux] 서버 시간동기화 방법 / server synchronization time (0) | 2024.03.26 |
---|---|
CentOS/RHEL 8에서 호스트 이름을 변경하는 방법 (0) | 2024.03.26 |
[Linux] Systemctl(systemd) 상세 옵션 및 설정 방법 (0) | 2024.03.26 |
[Linux] ssh로 원격 명령 실행 (0) | 2024.03.12 |
[Linux] sed 커맨드 상황별 사용법 (0) | 2024.03.11 |