27 lines
573 B
Go
27 lines
573 B
Go
package utils
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"os/exec"
|
|
)
|
|
|
|
func RestartDnsmasq() error {
|
|
var cmd *exec.Cmd
|
|
switch os.Getenv("SYSTEM_INITIALIZATION") {
|
|
case "rc":
|
|
cmd = exec.Command("rc", "restart", "dnsmasq")
|
|
case "openrc":
|
|
cmd = exec.Command("rc-service", "dnsmasq", "restart")
|
|
case "systemd":
|
|
cmd = exec.Command("systemctl", "restart", "dnsmasq")
|
|
default:
|
|
return fmt.Errorf("unsupported system initialization: %s", os.Getenv("SYSTEM_INITIALIZATION"))
|
|
}
|
|
|
|
if err := cmd.Run(); err != nil {
|
|
return fmt.Errorf("failed to restart dnsmasq: %w", err)
|
|
}
|
|
return nil
|
|
}
|