systemctl은 systemd 시스템 및 서비스 매니저의 핵심 커맨드입니다. systemd는 리눅스의 초기화 시스템으로, 부팅과 서비스 관리를 처리합니다. systemctl을 통해 사용자는 서비스를 시작, 중지, 재시작할 수 있으며, 시스템 부팅 시 자동으로 서비스를 시작하거나 시작하지 않도록 설정할 수 있습니다.
포스팅 목차
주요 systemctl 명령어:
1. 서비스 상태 확인 :
# systemctl status [service_name.service]
특정 서비스의 상태를 검토하여 활성, 비활성 또는 실패 여부를 확인합니다.
2. 서비스 시작 :
# systemctl start [service_name.service]
특정 서비스를 즉시 시작합니다.
3. 서비스 중지 :
# systemctl stop [service_name.service]
systemctl stop 명령어는 Linux 시스템에서 서비스를 즉시 중지시키는 데 사용됩니다. httpd.service와 같은 웹 서버 서비스를 종료하기 위해 sudo 권한으로 다음과 같이 실행할 수 있습니다
이 명령어를 사용하면 httpd 즉, Apache 웹 서버가 즉시 중지됩니다. 이렇게 함으로써 웹 서비스에 대한 접근이 더 이상 가능하지 않게 되므로, 서비스를 유지 관리하거나 문제를 해결할 때 사용할 수 있습니다.
4. 서비스 재시작 :
# systemctl restart [service_name.service]
특정 서비스를 중지한 후, 필요한 점검이나 업데이트를 완료했을 경우, 서비스를 다시 시작하여 정상 운영을 재개하게 됩니다.
5. 서비스 새로고침 :
# systemctl reload [service_name.service]
서비스 구성을 변경한 후, 시스템에서 해당 서비스를 재시작하지 않고 서비스를 다시 로드할 수 있습니다. 변경된 설정 파일을 효과적으로 읽어들여 서비스에 적용합니다. 아래는 systemctl 명령어를 사용하여 서비스 구성을 새로고침하는 방법입니다.
- 변경된 서비스 구성 파일이 있는지 확인합니다.
- 터미널을 열고 다음 명령어를 실행하여 systemd의 데몬을 리로드합니다.
sudo systemctl daemon-reload
- 이제 서비스의 설정을 적용하려면 아래 명령어를 사용하여 해당 서비스를 재시작할 필요 없이 새로고침합니다.
sudo systemctl reload service_name.service
여기서 서비스이름은 새로고침하려는 서비스의 이름을 의미합니다.
시스템의 가동 시간을 최대화하는 동시에 필요한 설정 변경을 안전하게 관리하는 데 유용합니다.
6. 서비스 활성화 :
# systemctl enable service_name.service
httpd.service (HTTP 서버)를 시스템 부팅 시 자동으로 시작하도록 설정했습니다. systemctl enable 명령어는 httpd.service를 활성화하여 다음부터 시스템이 시작할 때 해당 서비스가 자동으로 실행되도록 합니다. 명령어 실행 결과, /etc/systemd/system/multi-user.target.wants/ 디렉터리에 /usr/lib/systemd/system/httpd.service로의 심볼릭 링크(바로가기)가 생성되어 자동 시작 설정이 완료, 서버가 재부팅 후에도 계속해서 웹 서비스를 제공할 수 있도록 하는 데 중요합니다.
7. 서비스 비활성화 :
# systemctl disable service_name.service
시스템 부팅 시 서비스가 자동으로 시작되지 않도록 설정합니다.
8. 서비스의 자동 시작 여부 확인 :
# systemctl is-enabled service_name.service
서비스가 활성화(부팅 시 자동 시작)되어 있는지 확인합니다.
9. 모든 서비스 및 유닛 나열 :
# systemctl list-units
모든 활성화된 유닛을 나열합니다. `–all` 옵션을 추가하면 활성화되지 않은 유닛도 표시합니다.
응용을 해보면 아래 사진과 같이 실행 중인 서비스들의 항목만 출력이 가능하다.
10. 시스템 셧다운 및 재부팅 :
# systemctl poweroff
# systemctl reboot
시스템을 셧다운하거나 재부팅합니다.
11. 실패한 서비스 목록 확인 :
# systemctl --failed
실패 상태인 서비스를 나열합니다.
systemctl 명령어 필드 정보!
httpd 서비스 상태 요약
- Loaded:
- 서비스 로딩: httpd.service는 /usr/lib/systemd/system/httpd.service 위치에 로드됨.
- 자동 시작 설정: 부팅 시 enabled.
- 기본 설정: preset: disabled로 기본 비활성화 상태였음.
- Drop-In:
- 추가 설정 디렉토리: httpd.service에 대한 추가 설정 포함.
- 설정 파일: php-fpm.conf에서 서비스 설정 관리.
- Active:
- 서비스 상태: active (running), 즉 정상 작동 중.
- 서비스 시작 시간: Sun 2024-02-11 15:52:18 KST.
- Docs:
- 문서: man:httpd.service(8)로 문서 확인 가능.
- Main PID:
- 메인 PID: 7376.
- Status:
- 현재 상태: “Started, listening on: port 80”, 80번 포트에서 대기 중.
- Tasks:
- 생성된 태스크: 213개.
- 최대 허용 태스크: 22580개.
- Memory:
- 메모리 사용량: 34.4M.
- CPU:
- CPU 사용 시간: 64ms.
- CGroup:
- 컨트롤 그룹: /system.slice/httpd.service, 리소스 관리에 사용.