Computer >> 컴퓨터 >  >> 프로그램 작성 >> BASH 프로그래밍

Systemctl:서비스를 나열하는 방법(상태, 제어 및 팁)

이 가이드에서는 systemctl을 사용하여 서비스를 나열하고 상태를 확인하는 방법을 설명합니다. systemctl의 다른 용도도 다룰 것입니다.

run_init에서 가져옴 서비스, ​​systemctl 신선한 공기의 호흡이다. 내 생각이 틀린 데에는 여러 가지 이유가 있을 거라고 확신하고, 그에 대한 찬반 토론을 듣고 몇 번 마음을 바꿨습니다. 직장에서 매일 사용하고 지금은 systemctl 캠프에 있습니다. 이제 명령의 언어가 더 자연스럽게 느껴집니다. 일상적인 기능 수준에서 나는 그것을 좋아합니다. 나는 변화를 환영했고 이전 시스템에서 작업할 때마다 되돌아가는 것을 거부했습니다. systemctl과 작동 방식에 대해 알아보겠습니다.

Systemctl 상태

systemctl의 첫 번째이자 가장 중요한 용도는 서비스 상태를 확인하는 것입니다. 구문은 다음과 같습니다.

#systemctl command argument
#systemctl status service
Systemctl:서비스를 나열하는 방법(상태, 제어 및 팁)

systemctl 상태 서비스

atd 서비스 정보가 있습니다. 얼마 전에 시작했고(재부팅해야 합니다...) 활성 상태입니다. 우리가 systemctl로도 할 수 있지만 그것을 죽일 필요가 있다면 거기에 PID. 그럼 무엇을 확인해야 할까요? 빠르고 쉬운 단계, 실패한 서비스를 확인하십시오.

#systemctl --failed --type=service
Systemctl:서비스를 나열하는 방법(상태, 제어 및 팁)

systemctl –실패 –유형=서비스

이를 조사하고 정상인지 확인하십시오. 정상인지 어떻게 아세요? 실행 중인 서비스 확인:

#systemctl -t service --state=active
Systemctl:서비스를 나열하는 방법(상태, 제어 및 팁)

systemctl -t 서비스 –state=active

정보를 정독한 후 저장하십시오.

#systemctl -t service --state=active >date$systemhealth.log

나중에는 diff 확인하십시오.

#systemctl -t service --state=active > date$systemhealth.log
#diff day1systemhealth.log day2systemhealth.log
Systemctl:서비스를 나열하는 방법(상태, 제어 및 팁)

diff day1systemhealth.log day2systemhealth.log

자, 이제 온라인에 있어야 하는 항목이 있는지 알 수 있습니다. 새로운 시스템에 익숙해지고 있다면 다음 서비스를 확인하면 좋습니다.

램프

우리 대부분이 초기에 배포하는 방법을 배우는 기본 스택을 살펴보겠습니다. 아, 그리고 찾고 있는 서비스의 이름을 모른다면. 걱정마. systemctl에 대해 탭 완성이 활성화되었습니다. Apache를 입력하고 탭을 두 번 누른 다음 필요한 항목을 선택하기만 하면 됩니다.

Systemctl:서비스를 나열하는 방법(상태, 제어 및 팁)

systemctl 상태 아파치

#systemctl status apache2.service mongo mysql
Systemctl:서비스를 나열하는 방법(상태, 제어 및 팁)

systemctl 상태 apache2.service 몽고 mysql

더 자세히 알고 싶으십니까?

#systemctl list-dependencies apache2.service
Systemctl:서비스를 나열하는 방법(상태, 제어 및 팁)

systemctl 목록 종속성 apache2.service

서비스의 모든 종속성을 보여줍니다. 그리고 친근한 색상의 점으로 각각의 상태를 알려줍니다. 녹색은 양호, 빨간색은 실패입니다.

네트워크

다음으로 네트워크가 작동하는지 확인하겠습니다.

#systemctl status networking ufw wpa
Systemctl:서비스를 나열하는 방법(상태, 제어 및 팁)

systemctl 상태 네트워킹 ufw wpa

지금까지 명확하지 않은 경우 systemctl에서 가장 좋아하는 기능은 여러 서비스를 동시에 제어하는 ​​것입니다. 그리고 자동으로 더 적게 파이프됩니다.

서비스 제어

자, 이제 몇 가지 실패한 서비스가 식별되었습니다. 또는 서비스 변경을 구현했습니다. sshd.config 파일을 업데이트하는 것과 같이 다시 로드해야 합니다. 아니면 새로운 서비스를 추가하시겠습니까, 아니면 완전히 제거하시겠습니까?

systemctl을 사용하면 간단하며 두 가지 옵션이 있습니다. 새로고침다시 시작 . 다시 로드는 단순히 새 구성 파일을 읽습니다. 다시 시작은 모든 연결을 끊고 구성 파일을 다시 로드합니다. 필요에 따라 둘 다 사용 이유가 있습니다.

다시 시작하고 다시 로드

#systemctl restart atd
#systemctl status atd
Systemctl:서비스를 나열하는 방법(상태, 제어 및 팁)

systemctl 다시 시작 시간

자, 다시 시작했습니다. 새로운 정보가 추가되었습니다. 강력한 부하 분산 시스템에서는 다시 시작하는 것을 선호합니다. 연결 경로가 변경되고 다운타임이 발생하지 않을 것임을 알고 있습니다. 적어도 거의 존재하지 않습니다. 그리고 일부 시스템이나 서비스가 다시 로드와 잘 작동하지 않는 것에 대해 걱정할 필요가 없습니다. 그럼에도 불구하고 항상 다시 시작/다시 로드하기 전에 사용자와 고객에게 알리십시오.

중지, 시작 및 종료

서비스를 중지하거나 종료해야 하는 경우 systemctl도 그렇게 할 수 있습니다.

#systemctl stop atd
#systemctl start atd
#systemctl kill atd
#systemctl start atd

그게 다야, 다시 시작하십시오.

Systemctl:서비스를 나열하는 방법(상태, 제어 및 팁)

systemctl 상태 atd

활성화 및 비활성화

부팅 시 시작하려는 새 서비스는 활성화해야 합니다.

#systemctl enable <service>

이제 시스템이 부팅 시 새 서비스를 시작해야 한다는 것을 이해합니다. 재부팅을 건너뛰려면 지금 시작하십시오.

#systemctl disable <service>

그리고 우리는 간다. 서비스가 중지되었습니다. 제거하려면 중지한 다음 제거해야 합니다.

결론

그게 다야 별로. 시스템을 제어하는 ​​단일 목적을 위한 단일 서비스입니다. 셸 명령과 시스템 관리 방법에 대해 자세히 알아보세요.