카테고리 없음

Linux : Systemctl : 리눅스 서비스 나열 사용 방법, 예제, 명령어

얇은생각 2023. 1. 6. 07:30
반응형

Linux에서 서비스는 백그라운드에서 실행되는 프로그램입니다. 서비스는 요청 시 또는 부팅 시 시작될 수 있습니다.

Linux를 기본 운영 체제 또는 개발로 사용하는 경우 웹 서버, ssh 또는 cron과 같은 다양한 서비스를 처리할 플랫폼입니다. 실행 중인 서비스를 나열하거나 서비스 상태를 확인하는 방법을 아는 것은 시스템 문제를 디버깅할 때 중요합니다.

최근 대부분의 Linux 배포판에서는 systemd를 기본 init 시스템 및 서비스 관리자로 사용하고 있습니다.

Systemd는 Linux 시스템을 관리하기 위한 도구 모음입니다. 시스템 부팅, 서비스 관리, 파일 시스템 자동 마운트, 로그 이벤트, 호스트 이름 설정 및 기타 시스템 작업에 사용됩니다.

Linux에서 서비스를 나열하는 방법을 설명합니다.

 

 

Linux : Systemctl : 리눅스 서비스 나열 사용 방법, 예제, 명령어

 

 

Linux 서비스를 나열

Systemd는 서비스, 소켓, 마운트 포인트, 장치 등이 될 수 있는 유닛의 개념을 사용합니다. 단위는 i 형식의 텍스트 파일을 사용하여 정의됩니다. 이러한 파일에는 장치, 장치 설정 및 실행할 명령에 대한 정보가 포함됩니다. 파일 이름 확장명은 단위 파일 형식을 정의합니다. 예를 들어 시스템 서비스 단위 파일의 확장자는 .service입니다.

systemctl은 systemd를 제어하고 서비스를 관리하는 데 사용되는 명령줄 유틸리티입니다. systemd 생태계의 일부이며 기본적으로 모든 시스템에서 사용할 수 있습니다.

로드된 모든 서비스 장치 목록을 가져오려면 다음을 입력합니다.

sudo systemctl list-units --type service

# UNIT          LOAD      ACTIVE SUB     DESCRIPTION                                                              
# cron.service  loaded    active running Regular background program processing daemon 
# ...

 

 

각 출력 행에는 왼쪽에서 오른쪽으로 다음 열이 포함됩니다.

 

UNIT - 서비스 장치의 이름입니다.

LOAD - 장치 파일이 메모리에 로드되었는지에 대한 정보입니다.

ACTIVE - 활성, 다시 로드, 비활성, 실패, 활성화, 비활성화할 수 있는 고급 장치 파일 활성화 상태입니다. 이것은 SUB 열의 일반화입니다.

SUB - 하위 수준 장치 파일 활성화 상태입니다. 이 필드의 값은 장치 유형에 따라 다릅니다. 예를 들어 서비스 유형 단위는 비활성, 종료, 실패, 비활성 또는 실행 중 하나의 상태일 수 있습니다.

설명 - 장치 파일에 대한 간단한 설명입니다.

 

 

기본적으로 이 명령은 로드된 활성 장치만 나열합니다. 로드되었지만 비활성 장치도 보려면 --all 옵션을 전달합니다.

sudo systemctl list-units --type service --all

 

 

로드된 파일뿐만 아니라 설치된 모든 장치 파일을 보려면 다음을 사용합니다.

sudo systemctl list-unit-files

 

 

 

서비스 상태를 표시

서비스 상태를 확인하려면 systemctl status 명령을 사용합니다.

sudo systemctl status <service_name>.service

 

sudo systemctl status <service_name>입니다.서비스

알았어요.

여기서 <service_name>은 확인할 서비스 장치의 이름입니다. 예를 들어 nginx 서비스의 현재 상태를 확인하려면 다음을 수행합니다.

sudo systemctl status nginx.service

 

 

접미사 ".service"는 생략할 수 있습니다. systemctl status nginx는 systemctl status nginx.service와 동일합니다.

# ● nginx.service - A high performance web server and a reverse proxy server
#      Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
#      Active: active (running) since Wed 2020-12-23 19:13:50 UTC; 5s ago
#        Docs: man:nginx(8)
#     Process: 3061052 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
#     Process: 3061063 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
#    Main PID: 3061064 (nginx)
#       Tasks: 2 (limit: 470)
#      Memory: 6.0M
#      CGroup: /system.slice/nginx.service
#              ├─3061064 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
#              └─3061065 nginx: worker process
# 
# Dec 23 19:13:50 linuxize.dev systemd[1]: Starting A high performance web server and a reverse proxy server...

 

 

명령은 다음 정보를 인쇄합니다.

Loaded - 서비스 장치가 로드되었는지 여부와 장치 파일의 전체 경로입니다. 또한 부팅 시 장치를 시작할 수 있도록 설정되어 있는지 여부도 표시됩니다.

Active - 서비스가 활성 상태이고 실행 중인지 여부를 나타냅니다. 터미널에서 색상을 지원하고 서비스가 활성 상태이고 실행 중인 경우 점(●) 및 "활성(실행 중)" 부분이 녹색으로 인쇄됩니다. 이 선은 서비스가 실행되는 기간도 표시합니다.

Docs - 서비스 설명서입니다.

Process - 서비스 프로세스에 대한 정보입니다.

Main PID - 서비스 PID입니다.

Tasks - 장치에 포함된 작업 수 및 작업 제한입니다.

Memory - 사용된 메모리에 대한 정보입니다.

CGroup - 관련 제어 그룹에 대한 정보입니다.

 

서비스 상태만 확인하려는 경우 systemctlis-active 명령을 사용합니다. 예를 들어 nginx 서비스가 실행 중인지 확인하려면 다음을 실행합니다.

systemctl is-active nginx.service

# active

 

 

이 명령은 서비스 상태를 표시합니다. 서비스가 활성 상태인 경우 명령은 종료 상태 0을 반환합니다. 이 상태는 셸 스크립트 내에서 명령을 사용할 때 유용할 수 있습니다.

systemctl 명령을 사용하여 Linux 서비스를 나열하고 상태를 확인하는 방법을 보여드렸습니다.

반응형