Linux에서 서비스를 나열하는 방법

시스템 관리자는 매일 많은 서비스를 다루고있을 것입니다.

Linux에서 , 서비스는 다양한 목적으로 사용됩니다.

컴퓨터에서 SSH 서버를 시작하기 위해 사용되거나 특정 시간 또는 날짜에 일부 작업을 수행 할 수 있습니다.

데비안 기반 배포를 사용하는지 여부에 관계없이 RedHat 하나, 서비스 쿼리는 매우 유사합니다.

하지만 사용중인 배포판과보다 구체적으로 초기화 시스템 (init 또는 systemd)을 고려할 때 다른 명령을 사용해야 할 수도 있습니다.

이 자습서에서는 학습합니다. 시스템 관리자에게 Linux 시스템의 모든 서비스를 나열하는 방법은 다음과 같습니다.

목차

시스템 관리자 사용

아시다시피 최근 배포판은 Systemd 시스템 관리자를 사용합니다.

그러나 항상 그런 것은 아닙니다. 과거에는 대부분의 배포판에서 SysVinit 시스템 관리자를 사용했습니다.

결과적으로 Linux 시스템에서 서비스를 관리하는 방법에는 두 가지가 있습니다.

서비스를 나열하는 명령을 배우기 전에 현재 사용중인 시스템 관리자를 알아야합니다.

현재 시스템 관리자를 확인하려면 가장 쉬운 방법은 ” pstree ‘명령을 사용하고 시스템에서 실행 된 첫 번째 프로세스를 확인합니다.

“systemd”가 표시되면 분명히 현재 systemd를 사용하고 있음을 의미합니다. 그러나 ” init “는 SysVinit를 사용하고 있음을 의미합니다.

이전 init 시스템을 사용중인 Ubuntu 14.04에서는”pstree “가 다음과 같이 보일 수 있습니다.

systemctl을 사용하여 서비스 나열

Linux에서 서비스를 나열하는 가장 쉬운 방법은 systemd 시스템에있을 때 “systemctl”명령 다음에 “list-units”를 사용하는 것입니다. 결과를 서비스로만 제한하기 위해 “–type = service”옵션을 지정할 수 있습니다.

기본적으로이 명령은 활성화 된 서비스 또는 시스템에서 실패한 서비스 만 표시합니다. 위의 스크린 샷에서 대부분의 서비스는 활성화되어 있지만 logrotate 서비스 (빨간색으로 강조 표시됨)는 실패한 것으로 표시됩니다.

놀랍습니다. Linux 서버에서 서비스를 쉽게 나열하는 방법을 배웠습니다.

p>

하지만 아시다시피 모든 서비스에 액세스 할 수 없었습니다. 비활성 서비스는 어떻습니까? 부팅시 systemd에 의해로드되지 않은 서비스는 어떻습니까?

모든 서비스 나열 list-units를 사용하는 Linux

활성 및 비활성을 의미하는 모든 서비스를 나열하려면 “systemctl list-units”명령 다음에 “–all”옵션을 사용해야합니다.

마찬가지로 유형 필터를 사용하여 결과를 서비스로만 제한 할 수 있습니다.

보시다시피 비활성 서비스도 나열되어 있으므로 서비스를 작성하고 목록에서 관리하는 경우 편리 할 수 있습니다.

이 경우로드 된 서비스 만 나열됩니다. 부팅시 systemd는 단위 파일을로드하며 시스템에서 사용하지 않을 경우 특정 서비스를로드하지 않도록 선택할 수 있습니다.

결과적으로 “loaded”간에는 실제적인 차이가 있습니다. “및”설치된 “서비스. “설치된”서비스는 해당 경로에서 단위 파일을 찾을 수 있음을 의미합니다.

상태 별 서비스 나열

경우에 따라 실패한 서비스에만 관심이있을 수 있습니다.이를 위해 상태를 지정할 수 있습니다. systemctl 명령의 옵션으로 찾고 있습니다.

여기서 “state”는 다음 값 중 하나 일 수 있습니다. active, inactive, activating, 비활성화, 실패, 찾을 수 없음 또는 종료 됨

예를 들어 “실패한”서비스에만 관심이있는 경우 다음 명령을 실행합니다.

list-unit-files를 사용하여 모든 서비스 파일 나열

마지막으로 “loaded”, “installed”, “disabled”및 “enabled”서비스 파일에 관심이있는 경우 다른 명령이 있습니다. 꽤 편리 할 수 있습니다.

사용 가능한 모든 서비스 파일을 나열하려면 “systemctl”명령 다음에 “list-unit-files”를 사용해야합니다. 선택적으로 “–type = service”옵션을 사용하여 유형을 지정할 수 있습니다.

또는 “grep”명령을 사용하여 서비스 파일을 포함 할 수있는 시스템의 특정 경로를 검색 할 수 있습니다.

축하합니다. 시스템이 systemd를 사용하는 경우 서비스 나열!

서비스를 사용하여 서비스 나열

Linux에서 서비스를 나열하는 가장 쉬운 방법은 SystemV init 시스템에있을 때 ” service “명령 뒤에”–status-all “옵션이 나옵니다. 이렇게하면 시스템의 전체 서비스 목록이 표시됩니다.

보시다시피 각 서비스는 괄호 아래에 기호가 앞에 나열됩니다. 이러한 기호는 다음을 의미합니다.

  • + : e가 실행 중입니다.
  • – : 서비스가 전혀 실행되고 있지 않음을 의미합니다.
  • ? : 우분투가 서비스가 실행 중인지 여부를 알 수 없음을 의미합니다.

왜 일부 서비스는 실행 중인지 여부를 알려주고 일부는 실행할 수없는 이유는 무엇입니까?

모든 것은 초기화 스크립트의 구현으로 귀결됩니다. 예를 들어 udev 스크립트와 같은 일부 스크립트에서 “status”명령이 구현되었음을 확인할 수 있습니다.

예를 들어 질문이있는 이유 인”dns-clean “스크립트의 경우가 아닙니다. 이 서비스를 쿼리 할 때 표시합니다.

폴더에 SysVinit 서비스 나열

현재 서비스 목록을 나열하는 또 다른 방법은 모든 스크립트가 포함 된 폴더에서 “ls”명령을 사용하는 것입니다. Linux 시스템, 즉 “/etc/init.d”.

결론

이 자습서에서는 Linux 시스템에서 서비스를 쉽게 나열하는 방법을 배웠습니다. systemd를 사용하든 SysVinit를 사용하든.

자신 만의 서비스를 만드는 데 관심이 있다면 다음 리소스를 살펴 보는 것이 좋습니다. 이를 올바르게 수행하는 데 정말 유용 할 수 있습니다.

  • init 시스템 용 시작 스크립트 작성
  • systemd를 사용하여 부팅시 서비스 시작

Linux 시스템 관리에 관심이있는 경우 웹 사이트에이 주제에 대한 전체 섹션이 있으므로 확인하시기 바랍니다.

FlatIcon에서 Freepik이 만든 아이콘

Write a Comment

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