본문 바로가기
IT/리눅스

[명령어] systemctl

by 옥탑방개발자 2020. 7. 2.
728x90

systemctl이란?

  • RHEL 7에 도입된 systemd를 관리하는 명령어이다.
  • /usr/lib/systemd/system 디렉토리의 .service파일을 systemctl 명령어로 서비스를 제어할 수 있다.

 

 

Centos systemctl 과 service 명령어 차이점

service httpd start

         vs  systemctl start httpd

  • 같은 동작을 수행한다 하지만 CentOS6버전 이하에서 service구문으로 사용한다. 이상은 systemctl
  • systemctl 옵션 서비스명.service  (.service는 생략가능)

 

기존 명령어와 비교 표

service systemctl 설명
service name start systemctl start name.service 서비스 시작
service name stop systemctl stop name.service 서비스 중지
service name restart systemctl restart name.service 서비스 재시작
service name condrestart systemctl try-restart name.service 서비스가 구동중이었을 경우에만 재시작
service name reload systemctl reload name.service 설정 재구동
service name status systemctl status name.service
systemctl is-active name.service
서비스 구동 여부 확인
service name --status-all systemctl list-units --type service -all 모든 서비스의 상태 표시

 

서비스 상태확인하기

systemctl status service_name.service

 

서비스 시작, 중지, 재시작

systemctl start mariadb.service

systemctl stop service_name.service

systemctl restart service_name.service

 

부팅 시 자동 실행

systemctl enable service_name.service

부팅 시 자동 실행 X

systemctl disable service_name.service

현재 runlevel 보기

systemctl get-default

 

runlevel 변경하기

systemctl set-default multi-user.target //멀티유저(runlevel 3)

systemctl set-default graphical.target //그래피컬(runlevel 5)

 

서비스 목록 보기

systemctl list-units --type target

systemctl list-units --type target --all   //활성화 되지 않은 타겟 목록 까지 보기

 

설치된 모든 unit 파일 보기

systemctl list-unit-files

 

재부팅 하지 않고 runlevel 변경

systemctl isolate graphical.target

systemctl isolate mult-user.target

 

시스템 복구등의 이유로 single user mode 로 진입

systemctl rescue

 

최소부팅

  • 파일 시스템이 깨졌거나 single mode 로 진입 할 수 없을 때 (부팅시 최소 기능으로 부팅)

systemctl emergency

 

서비스 마스킹

  • 동일한 용도의 또는 같은 서비스 사용시 충돌을 막음
  •  

systemctl mask service

systemctl start service

systemctl unmask service

 

서비스 보기(조건)

실행중인 서비스 보기

systemctl list-units --type=service --state=running

systemctl list-units --type=service 

 

구동에 실패한 서비스 보기

systemctl list-units --state=failed

 

모든 active목록 보기

systemctl list-units --state=active

 

상태가 inactive인 목록 보기

systemctl list-units -all --state=inactive

 

특정 서비스가 active상태인지 보기 (==서비스상태보기)

systemctl is-active service

728x90