리눅스

[Cenotos7] systemctl 명령어

gurum 2021. 3. 9. 12:10

 

 

 

 

 

리눅스는 부팅시 시스템을 초기화 하거나, 서비스들을 실행하기위한 환경을 젝공하는 등 서비스들을 관리하는 프로세스가 필요하다. 이런 역할을 맡은게 systemd 이다.

 

(명령어로는 systemctl) Centos6 버전까지는 init 프로세스가 담당했는데 Cenots7부터는 systemd로 바뀌었다. systemd는 기존 init 보다 훨씬 많은 기능을 제공하며, start up service를 병렬처리해 부팅속도도 향상 시켰다. 즉, systemctl은 Centos7부터 사용하는, 데몬을 관리하는 명령어이다.

 

 

 

 

systemctl list-units


 

시스템 내부의 유닛들을 볼수 있는 명령어이다. 기본적으로 실행중인 유닛들을 보여주며, -all 옵션 (systemctl -all list-units)를 붙이면 모든 유닛을 확인할 수 있다.

(종료시, ctrl + z ) 

 

 

 

 

 

systemctl list-unit-files


 

이 명령어를 치면, 부팅때 로드되지 않은 서비스들(disable)도 모두 확인 할수 있다. 

(enable - 부팅시 로드, disable - 부팅시 로드되지 않음 ) 

 

 

 

 

 

systemctl status 유닛명


 

 

systemctl status 는 유닛명의 현재 상태를 볼수 있는 명령어이다. (systemctl status sshd 는 현재 ssh 데몬의 상태를 확인할수 있다. )

active -> 현재 활성화 되어 있음.

 

 

 

 

 

systemctl stop 유닛명, sytemctl start 유닛명


 

systemctl stop 명령어로 현재 실행되고 있는 데몬을 비활성화 상태로 만들수 있다. systemctl stop sshd 명령어를 친 뒤, systemctl status로 상태를 확인해보면, inactive(비활성화) 상태인것을 확인 할수 있다.

 

 

 

 

반대로 활성화 시킬 수도 있다. 아까 비활성화 상태로 만들어놨던 ssh를 systemctl start sshd 명령어로 다시 활성화 시키자, 다시 active 상태가 된것을 확인 할수 있다.

 

 

restart를 붙이면 데몬을 재시작하는 것도 가능하다.

 

 

 

 

 

 

systemctl disable 유닛명, systemctl enable 유닛명


 

systemctl disable이라는 명령어로 부팅시 로드가 되지 않게 설정할수 있다. systemctl disable sshd 명령어를 치면, 링크에서 삭제했다는 메시지가 뜬다. systemctl list-unit-files 명령어(부팅시 로드되지 않은 유닛까지 확인 가능)로 보면 sshd 데몬이 disable 되었다는것을 확인 할 수 있다.

 

 

 

 

systemctl enable는 부팅시 로드하겠다는 명령어 이며 링크에 생성되었다는 메시지가 함꼐 나온다. systemctl list-unit-files로 다시 확인해보면 enable되었다는것을 확인할수 있다.