Linux에서 사용자 서비스를 생성하고 관리하는 방법

Linuxeseo Sayongja Seobiseuleul Saengseonghago Gwanlihaneun Bangbeob



일반 Linux 사용자는 사용자 정의 systemd 서비스를 만들 수 있습니다. systemd 서비스는 주로 systemctl 명령을 사용하여 시스템 관리자가 관리합니다. 동일한 명령을 사용하여 사용자별 서비스를 관리할 수도 있습니다. 당신에게 필요한 것은 -사용자 깃발.

이 가이드에서는 Linux에서 사용자별 서비스를 생성하는 방법과 systemctl을 사용하여 이를 관리하는 방법을 설명합니다.

일반 사용자 서비스를 제공하는 이유

일반 사용자 서비스는 시스템 서비스와 다릅니다. 일반 사용자 서비스는 로그인 사용자 중심입니다. 이 서비스는 해당 서비스를 만든 사용자의 세션에서만 작동합니다.







일반 사용자 서비스를 만드는 방법

Linux의 사용자별 서비스는 ~/.config/systemd/사용자 예배 규칙서. 이 디렉터리가 없으면 만들 수 있습니다.

mkdir -피 ~ / .config / 체계화된 / 사용자

그만큼 -피 플래그는 필요한 경우 상위 디렉터리를 만드는 데 사용됩니다. 그만큼 ~ 로컬 사용자의 홈 디렉토리를 나타내며 다음과 같습니다. /홈/사용자 구성 파일 앞의 점이 숨겨집니다. 30분마다 메모리 사용량을 텍스트에 기록하는 간단한 bash 스크립트 파일을 만들어 보겠습니다. 나는 이름으로 스크립트를 만들고 있습니다. script.sh .

#! /bin/bash

~하는 동안 진실

하다

무료 -중 >> / / 사용자 / 마이파일.txt

1800

완료

이 스크립트는 어디에서나 생성할 수 있지만 스크립트 내부에 지정된 경로가 절대 경로인지 확인하세요.

이제 위 스크립트를 백그라운드에서 실행할 서비스를 만들어 보겠습니다. Nano 또는 Vim과 같은 텍스트 편집기를 실행하고 아래에 제공된 줄을 붙여넣습니다.

[ 단위 ]

설명 =나의 서비스

[ 서비스 ]

유형 =단순

실행 시작 = / 큰 상자 / 세게 때리다 / / 사용자 / script.sh

재시작 =실패 시

[ 설치하다 ]

수배자 =기본.대상

[단위] 부분에는 설명 지시문에는 단순히 서비스 이름이 포함됩니다. 80자를 초과할 수 없다는 점에 유의하세요.

[Service] 섹션에는 세 가지 중요한 지시문이 포함되어 있습니다. 첫째로, 유형 ; 이는 단순한 , 그 다음에 실행 시작 사용자 정의 스크립트의 실행 파일이 포함되어 있습니다. 서비스는 장애가 발생한 경우에만 다시 시작됩니다.

[설치] 섹션에는 다음이 포함되어 있습니다. 수배자 지시어는 기본.대상 , 이는 일반적으로 multi-user.target 또는 graphic.target인 기본 실행 수준에 도달하면 서비스가 시스템 상태에서 활성화됨을 의미합니다.

이제 파일을 다음 위치에 저장하세요. ~/.config/systemd/사용자 임의의 이름을 가진 디렉토리; 이름을 붙이고 있어요 myservice.service .

일반 사용자 서비스를 관리하는 방법

일반 사용자 서비스를 관리하려면 systemctl 명령을 다음과 함께 사용합니다. -사용자 깃발. 그만큼 -사용자 플래그는 사용자가 시스템이 아닌 서비스 관리자에게 연결하고 있음을 나타냅니다.

사용자별 서비스 파일을 생성한 후 가장 먼저 중요한 단계는 시스템 구성 파일을 다시 로드하는 것입니다.

systemctl --사용자 데몬 다시 로드

그러면 변경 사항이 적용됩니다.

서비스가 실행 중인지 여부를 확인하려면 다음과 함께 systemctl을 사용하세요. -사용자 플래그와 옵션.

systemctl --사용자 상태 [ 서비스 이름 ]

일반 사용자 서비스를 관리하는 다른 명령은 다음과 같습니다.

systemctl --사용자 시작 [ 서비스 이름 ]

systemctl --사용자 ~할 수 있게 하다 [ 서비스 이름 ]

systemctl --사용자 멈추다 [ 서비스 이름 ]

systemctl --사용자 장애를 입히다 [ 서비스 이름 ]

systemctl --사용자 재시작 [ 서비스 이름 ]

시스템 관리자 권한으로 일반 사용자 서비스를 만드는 방법

사용자가 만드는 서비스는 많지만 실행하려면 관리자 권한이 필요합니다. 이러한 서비스는 사용자 [Service] 섹션에 대한 지시문입니다.

그만큼 사용자 지시문은 다음과 같이 서비스를 실행하는 데 필요한 권한을 가진 사용자의 이름을 언급하는 데 사용될 수 있습니다. 관리자 . 따라서 일반 사용자가 관리자 권한을 요구하는 서비스를 만들고 싶다면 간단히 사용자=관리자 [서비스] 섹션에서 해당 작업을 수행합니다. 그러나 이 서비스는 관리자가 활성 상태인 한 계속 활성 상태로 유지됩니다. 이 서비스는 관리자가 직접 제어할 수 없습니다.

결론

일반 사용자도 systemd 서비스를 생성할 수 있지만 ~/.config/systemd/사용자 예배 규칙서. 이 서비스는 이를 생성한 사용자가 로그인되어 있는 한 실행됩니다. 이 서비스는 systemctl 명령을 통해서도 관리되지만 -사용자 깃발. 시스템이 아닌 사용자가 서비스를 호출하고 있음을 systemd에 알려줍니다. 이 가이드에서는 사용자 지정 일반 사용자 서비스를 만들고 이를 관리하기 위한 systemctl 명령을 언급했습니다. 또한 관리자 권한이 필요한 서비스를 만드는 방법도 강조했습니다.