우분투에서 시작/중지할 수 있는 시스템 서비스 만들기

우분투에서 시작/중지할 수 있는 시스템 서비스 만들기

실행 가능한 형식으로 사용 가능한 서버를 구축했으며 이를 시작/중지/다시 시작할 수 있는 서비스로 등록하고 싶습니다.

나는 다음 질문을 읽었고 다른 많은 사람들도 그것을 좋아했습니다.>실행 파일을 서비스로 실행하는 방법은 무엇입니까?

내 문제는 sudo systemctl stop myexecutableservice.

현재 상황에서는 서비스를 중지해도 백그라운드 프로세스가 계속 실행되고 서버가 계속 요청을 수락합니다.

답변1

이것은 가장 간단한 경우에 대한 답입니다.

여러분이 해야 할 일은 /etc/systemd/system/myservice.service섹션이 있는 INI 파일을 만드는 것뿐입니다 [Service].

매우 간단한 서비스는 다음과 같습니다.

[Service]
ExecStart=/usr/bin/myapp arg1 arg2

서비스가 존재하는지 확인한 다음 sudo systemctl start myservice또는 sudo systemctl stop myservice.

Service이 섹션에서는 사용자 정의, 작업 디렉터리, 환경 변수, 포크된 프로세스 관리 방법, 프로세스 중지 방법, 우선 순위 등 다른 많은 작업도 수행할 수 있습니다. 보다 systemd.service(5)이 섹션의 작동 방식에 대한 세부정보입니다.

로그에 표시할 섹션을 [Unit]정의하고 다른 장치와의 관계를 정의하는 섹션을 추가할 수도 있습니다 . Description=바라보다 systemd.unit(5).

[Install]섹션을 선언하는 것도 가능합니다. 이를 사용하면 어떤 일이 발생하는지 정의할 수 있습니다 systemctl enable myservice. 바라보다 systemd.unit(5).

답변2

내 실행 파일은 모든 종료 이벤트에서 종료되지 않은 다른 프로세스를 시작했기 때문에 새 .service 파일을 만들고 실행 파일로 다시 컴파일했습니다. 이제는 잘 작동합니다.

관련 정보