Linux에서 Systemd에서 실행중인 모든 서비스를 나열하는 방법

Linux 시스템은 다양한 시스템 서비스 (예 : 프로세스 관리, 로그인, syslog, cron 등) 및 네트워크 서비스 (예 : 원격 로그인, 이메일, 프린터, 웹 호스팅, 데이터 저장, 파일 전송, 도메인 이름 확인 (DNS 사용), 동적 IP 주소 할당 (DHCP 사용) 등)

기술적으로는 a 서비스는 백그라운드에서 지속적으로 실행되는 프로세스 또는 프로세스 그룹 (일반적으로 데몬이라고 함)으로, 요청이 들어올 때까지 (특히 클라이언트에서) 대기합니다.

Linux는 다양한 관리 방법 (시작, 중지, 재시작, 시스템 부팅시 자동 시작 활성화 등) 서비스, 일반적으로 프로세스 또는 서비스 관리자를 통해. 대부분의 최신 Linux 배포판은 이제 동일한 프로세스 관리자 인 systemd를 사용합니다.

또한 읽기 : init및 systemd에 대한 이야기 : init를 systemd로 대체해야하는 이유 Linux

Systemd는 Linux 용 시스템 및 서비스 관리자입니다. SysV 및 LSB init 스크립트와 호환되며 systemctl 명령은 systemd를 관리하기위한 기본 도구 인 init 프로세스의 드롭 인 대체입니다.

이 가이드에서는 Linux의 systemd에서 실행중인 모든 서비스를 나열하는 방법을 보여줍니다.

Linux

인수없이 systemctl 명령을 실행하면 서비스를 포함하여로드 된 모든 systemd 단위 목록 (systemd 단위에 대한 자세한 내용은 systemd 문서 참조)을 표시하여 상태 (활성 또는 아님).

# systemctl 

시스템에로드 된 모든 서비스를 나열하려면 (활성, 실행 중, 종료 또는 실패 여부에 관계없이 list-units 하위 명령과 --type 서비스 가치로 전환합니다.

# systemctl list-units --type=serviceOR# systemctl --type=service
시스템화 된 모든 서비스 나열

로드되었지만 활성 상태 인 모든 서비스 (실행중인 서비스와 종료 된 서비스 모두)를 나열하려면 --state 옵션을 값과 함께 추가 할 수 있습니다. 다음과 같이 활성화됩니다.

# systemctl list-units --type=service --state=activeOR# systemctl --type=service --state=active
목록 Systemd의 모든 활성 실행 서비스

그러나 실행중인 모든 서비스 (즉,로드되고 활성 실행중인 모든 서비스)를 한 눈에 보려면 다음 명령을 실행하십시오.

# systemctl list-units --type=service --state=running OR# systemctl --type=service --state=running
Systemd에서 실행중인 서비스 나열

이전 명령을 자주 사용하는 경우 그림과 같이 ~ / .bashrc 파일에 별칭 명령을 만들어 쉽게 호출 할 수 있습니다.

# vim ~/.bashrc

그런 다음 스크린 샷에 표시된대로 별칭 목록 아래에 다음 줄을 추가합니다.

alias running_services="systemctl list-units --type=service --state=running"
긴 명령의 별칭 만들기

파일에 변경 사항을 저장하고 닫습니다. 이제부터는 “running_services”명령을 사용하여 서버에서로드되고 활발하게 실행중인 모든 서비스 목록을 확인합니다.

# running_services#use the Tab completion 
실행중인 모든 서비스보기

게다가 서비스의 중요한 측면은 데몬 프로세스가 수신하는 포트를 확인하려면 다음과 같이 netstat 또는 ss 도구를 사용할 수 있습니다.

-l 플래그는 모든 수신 소켓을 인쇄하고, -t는 모든 TCP 연결을 표시하고, -u는 모든 UDP 연결을 표시하고, -n는 숫자 포트 번호 (애플리케이션 이름 대신)를 인쇄하고 -p는 애플리케이션 이름 표시를 의미합니다.

# netstat -ltup | grep zabbix_agentdOR# ss -ltup | grep zabbix_agentd

다섯 번째 열은 소켓 : 로컬 주소 : 포트를 보여줍니다.이 경우 zabbix_agentd 프로세스는 포트 10050에서 수신 대기합니다.

프로세스 포트 결정

또한 서버에 방화벽 서비스가 실행중인 경우 선택한 서비스 또는 포트를 오가는 트래픽을 차단하거나 허용하는 방법은 다음과 같이 firewall-cmd 또는 ufw 명령 (사용중인 Linux 배포에 따라 다름)을 사용하여 방화벽에서 열린 서비스 또는 포트를 나열 할 수 있습니다. / p>

# firewall-cmd --list-services # firewall-cmd --list-ports$ sudo ufw status 
방화벽의 열린 서비스 및 포트 나열

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다