Slackware 서비스 생성(또는 변환)에 도움이 필요합니다.

Slackware 서비스 생성(또는 변환)에 도움이 필요합니다.

최근에 Slackware로 전환했습니다. NordVPN을 사용하고 싶습니다. 문제는 .rpm 및 .deb 패키지만 제공한다는 것입니다. 그러나 그것은 중요하지 않습니다. 방금 .rpm 내용을 추출했는데 이제 프로그램이 제대로 실행되고 있습니다. 나를 괴롭히는 유일한 것은 이를 위해 데몬을 수동으로 실행해야 한다는 것입니다. Slackware가 systemd를 사용하지 않는다는 것을 알고 있으므로 이에 대한 서비스를 만들거나 자체 systemd 서비스로 변환하려고 시도했지만 실패했습니다. 누구든지 나를 도울 수 있다면 매우 감사하겠습니다. 시스템 서비스는 다음과 같습니다.

[Unit]
Description=NordVPN Daemon
Requires=nordvpnd.socket
After=network-online.target

[Service]
ExecStart=/usr/sbin/nordvpnd
NonBlocking=true
KillMode=process
Restart=on-failure
RestartSec=5

[Install]
WantedBy=default.target

소켓은 다음과 같습니다.

[Unit]
Description=NordVPN Daemon Socket
PartOf=nordvpnd.service

[Socket]
ListenStream=/run/nordvpnd.sock
NoDelay=true

[Install]
WantedBy=sockets.target

답변1

다음과 같이 보일 수 있습니다.

#!/bin/sh
NordVPN_start(){
    if [ -x /usr/sbin/nordvpnd ] ; then
        /usr/sbin/nordvpnd
    fi
}

NordVPN_stop(){
    /bin/killall NordVPN 2>/dev/null
}

case "$1" in
'start')
  NordVPN_start
  ;;
'stop')
  NordVPN_stop
  ;;
'reload')
  NordVPN_stop
  NordVPN_start
  ;;
'restart')
  NordVPN_stop
  NordVPN_start
  ;;

*) 
  echo "usage $0 start|stop|reload|restart"
esac

관련 정보