10.2. systemctl을 사용하여 시스템 서비스 관리
시스템 관리자는 systemctl 유틸리티를 사용하여 시스템 서비스를 관리할 수 있습니다. 실행 중인 서비스 시작, 중지, 다시 시작, 서비스 활성화 및 비활성화, 사용 가능한 서비스 나열, 시스템 서비스 상태 표시 등 다양한 작업을 수행할 수 있습니다.
10.2.1. 시스템 서비스 나열 링크 복사링크가 클립보드에 복사되었습니다!
현재 로드된 모든 서비스 단위를 나열하고 사용 가능한 모든 서비스 단위의 상태를 표시할 수 있습니다.
절차
systemctl 명령을 사용하여 다음 작업을 수행합니다.
현재 로드된 모든 서비스 단위를 나열합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기본적으로
systemctl list-units명령은 활성 유닛만 표시합니다. 각 서비스 단위 파일에 대해 명령은 다음 매개변수에 대한 개요를 제공합니다.단위- 서비스 유닛의 전체 이름
LOAD- 구성 파일의 로드 상태
ACTIVE또는SUB- 현재 고급 및 낮은 수준의 장치 파일 활성화 상태
DESCRIPTION- 유닛의 목적과 기능에 대한 간략한 설명
all 또는
-a명령줄 옵션과 함께 다음 명령을 사용하여 상태에 관계없이 로드된모든유닛 을 나열합니다.systemctl list-units --type service --all
$ systemctl list-units --type service --allCopy to Clipboard Copied! Toggle word wrap Toggle overflow 사용 가능한 모든 서비스 단위의 상태(활성화 또는 비활성화)를 나열합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 각 서비스 유닛에 대해 이 명령은 다음을 표시합니다.
단위 파일- 서비스 유닛의 전체 이름
상태- 부팅 중에 서비스 단위가 활성화되거나 비활성화되었는지 여부에 대한 정보
10.2.2. 시스템 서비스 상태 표시 링크 복사링크가 클립보드에 복사되었습니다!
서비스 단위를 검사하여 자세한 정보를 가져오고 부팅 중에 시작되도록 활성화되었는지 또는 현재 실행 중인 서비스 상태인지 확인할 수 있습니다. 또한 특정 서비스 유닛 이후 또는 이전에 주문된 서비스를 볼 수도 있습니다.
절차
시스템 서비스에 해당하는 서비스 유닛에 대한 자세한 정보를 표시합니다.
systemctl status <name>.service
$ systemctl status <name>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;name>을 검사하려는 서비스 단위의 이름으로 바꿉니다(예:gdm).이 명령은 다음 정보를 표시합니다.
- 선택한 서비스 단위의 이름 뒤에 간단한 설명
- 사용 가능한 서비스 단위 정보에설명된 하나 이상의 필드
-
서비스 유닛의 실행:
루트사용자가 유닛을 실행하는 경우 최신 로그 항목
Expand 표 10.2. 사용 가능한 서비스 단위 정보 필드 설명 loaded서비스 유닛이 로드되었는지 여부, 단위 파일의 절대 경로, 부팅 중에 장치를 시작할 수 있는지 여부를 확인합니다.
active서비스 유닛이 실행 중인지 여부 및 타임스탬프를 제공합니다.
Main PID프로세스 ID 및 해당 시스템 서비스의 이름입니다.
상태해당 시스템 서비스에 대한 추가 정보입니다.
process관련 프로세스에 대한 추가 정보.
cgroup관련 제어 그룹(
cgroup)에 대한 추가 정보.
특정 서비스 장치가 실행 중인지 확인합니다.
systemctl is-active <name>.service
$ systemctl is-active <name>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 부팅 중에 특정 서비스 단위가 시작되도록 활성화되어 있는지 확인합니다.
systemctl is-enabled <name>.service
$ systemctl is-enabled <name>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고지정된 서비스 장치가 실행 중이거나 활성화된 경우
systemctl is-active및systemctl is-enabled명령은 종료 상태0을 반환합니다.지정된 서비스 단위 전에
systemd주문을 시작할 서비스 확인systemctl list-dependencies --after <name>.service
# systemctl list-dependencies --after <name>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들어
gdm이전에 시작되도록 순서가 지정된 서비스 목록을 보려면 다음을 입력합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 지정된 서비스 단위 후에 시작할 서비스
systemd주문을 확인합니다.systemctl list-dependencies --before <name>.service
# systemctl list-dependencies --before <name>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들어
gdm후에 시작할 서비스systemd주문 목록을 보려면 다음을 입력합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.2.3. systemd 장치 시작 및 중지 링크 복사링크가 클립보드에 복사되었습니다!
systemctl start 명령을 사용하여 현재 세션에서 시스템 서비스를 시작할 수 있습니다.
사전 요구 사항
- 루트 액세스 권한이 있습니다.
절차
현재 세션에서 시스템 서비스를 시작합니다.
*systemctl start <systemd_unit> *
# *systemctl start <systemd_unit> *Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;systemd_unit>을 시작하려는 서비스 단위의 이름으로 바꿉니다(예:httpd.service).참고systemd에서 서비스 간 양수 및 음수 종속성이 있습니다. 특정 서비스를 시작하려면 하나 이상의 다른 서비스(긍정 종속성)를 시작하거나 하나 이상의 서비스(negative dependency)를 중지해야 할 수 있습니다.새 서비스를 시작하려고 하면
systemd는 사용자에게 명시적 통지 없이 모든 종속 항목을 자동으로 해결합니다. 즉, 이미 서비스를 실행하고 음수 종속성으로 다른 서비스를 시작하려고 하면 첫 번째 서비스가 자동으로 중지됩니다.예를 들어
sendmail서비스를 실행 중이고postfix서비스를 시작하려고 하는 경우systemd는 먼저sendmail을 자동으로 중지합니다. 이 두 서비스는 충돌하고 동일한 포트에서 실행할 수 없기 때문입니다.
10.2.4. 시스템 서비스 중지 링크 복사링크가 클립보드에 복사되었습니다!
현재 세션에서 시스템 서비스를 중지하려면 systemctl stop 명령을 사용합니다.
사전 요구 사항
- 루트 액세스
절차
시스템 서비스를 중지합니다.
systemctl stop <name>.service
# systemctl stop <name>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;name>을 중지하려는 서비스 단위의 이름으로 바꿉니다(예:bluetooth).
10.2.5. 시스템 서비스 다시 시작 및 다시 로드 링크 복사링크가 클립보드에 복사되었습니다!
restart 명령을 사용하여 현재 세션에서 시스템 서비스를 다시 시작하여 다음 작업을 수행할 수 있습니다.
- 현재 세션에서 선택한 서비스 장치를 중지하고 즉시 다시 시작합니다.
- 해당 서비스가 이미 실행 중인 경우에만 서비스 장치를 다시 시작합니다.
- 실행을 중단하지 않고 시스템 서비스의 구성을 다시 로드합니다.
사전 요구 사항
- 루트 액세스 권한이 있습니다.
절차
시스템 서비스를 다시 시작하십시오.
systemctl restart <name>.service
# systemctl restart <name>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;name>을 재시작할 서비스 단위의 이름으로 바꿉니다(예:httpd).선택한 서비스 장치가 실행 중이 아닌 경우 이 명령이 시작됩니다.
해당 서비스가 이미 실행 중인 경우에만 서비스 장치를 다시 시작하십시오.
systemctl try-restart <name>.service
# systemctl try-restart <name>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 서비스 실행을 중단하지 않고 구성을 다시 로드합니다.
systemctl reload <name>.service
# systemctl reload <name>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 기능을 지원하지 않는 시스템 서비스는 이 명령을 무시합니다. 이러한 서비스를 다시 시작하려면 대신
reload-or-restart및reload-or-try-restart명령을 사용합니다.
10.2.6. 부팅 시 시스템 서비스가 시작되도록 활성화 링크 복사링크가 클립보드에 복사되었습니다!
부팅 시 서비스가 자동으로 시작되도록 활성화할 수 있습니다. 이러한 변경 사항은 다음 재부팅 시 적용됩니다.
사전 요구 사항
- 루트 액세스 권한이 있습니다.
절차
단위가 마스크되었는지 확인합니다.
systemctl status <systemd_unit>
# systemctl status <systemd_unit>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 장치가 마스크된 경우 먼저 마스킹을 해제합니다.
systemctl unmask <systemd_unit>
# systemctl unmask <systemd_unit>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 부팅 시 서비스가 시작되도록 활성화합니다.
systemctl enable <systemd_unit>
# systemctl enable <systemd_unit>Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;systemd_unit>을 활성화하려는 서비스 단위의 이름으로 바꿉니다(예:httpd).
선택적으로 명령에 --now 옵션을 전달하여 지금 장치를 시작합니다.
10.2.7. 부팅할 때 시작할 시스템 서비스 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
부팅 시 서비스 장치가 자동으로 시작되지 않도록 할 수 있습니다. 서비스를 비활성화하면 부팅 시 시작되지 않지만 수동으로 시작할 수 있습니다. 수동으로 시작할 수 없도록 서비스를 마스킹할 수도 있습니다. 마스킹은 서비스를 다시 마스크 해제할 때까지 영구적으로 사용할 수 없게 하는 서비스를 비활성화하는 방법입니다.
사전 요구 사항
- 루트 액세스 권한이 있습니다.
절차
부팅 시 시작할 서비스를 비활성화합니다.
systemctl disable <name>.service
# systemctl disable <name>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;name>을 비활성화하려는 서비스 단위의 이름으로 바꿉니다(예:bluetooth). 선택적으로--now명령을 전달하여 현재 실행 중인 서비스도 중지합니다.선택 사항: 관리자가 실수로 장치를 시작하거나 다른 단위의 종속성으로 장치를 차단하려면 서비스를 마스크하십시오.
systemctl mask <name>.service
# systemctl mask <name>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow