![需要帮助来创建(或转换)Slackware 服务](https://linux22.com/image/158570/%E9%9C%80%E8%A6%81%E5%B8%AE%E5%8A%A9%E6%9D%A5%E5%88%9B%E5%BB%BA%EF%BC%88%E6%88%96%E8%BD%AC%E6%8D%A2%EF%BC%89Slackware%20%E6%9C%8D%E5%8A%A1.png)
我最近转向 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