feat(service): implement PID-file based service management

- Add PID directory creation in setup-directories.sh
- Update start.sh to use /var/run/furt/furt.pid for both platforms
- Fix OpenBSD rc.d script pidfile variable path
- Correct systemd service PIDFile parameter path
- Resolve rcctl check detection issues on OpenBSD

Fixes service detection problems where rcctl check would show (failed)
even when service was running. PID-file approach provides reliable
cross-platform service status detection instead of fragile pexp patterns.
Related DAW/furt#100
This commit is contained in:
michael 2025-09-07 16:57:35 +02:00
parent 7ee990b052
commit 59f372f2b0
4 changed files with 7 additions and 4 deletions

View file

@ -7,7 +7,7 @@ Type=forking
User=furt
Group=furt
ExecStart=/usr/local/share/furt/scripts/start.sh
PIDFile=/var/run/furt.pid
PIDFile=/var/run/furt/furt.pid
WorkingDirectory=/usr/local/share/furt
Restart=always
RestartSec=5

View file

@ -7,7 +7,7 @@ daemon_cwd="/usr/local/share/furt"
. /etc/rc.d/rc.subr
# PID-File location
pidfile="/var/run/furt.pid"
pidfile="/var/run/furt/furt.pid"
# Custom rc_check function (PID-File based)
rc_check() {