12345678910111213141516171819202122232425262728 |
- package service
- import (
- "os"
- "syscall"
- "time"
- "github.com/mhsanaei/3x-ui/v2/logger"
- )
- // PanelService provides business logic for panel management operations.
- // It handles panel restart, updates, and system-level panel controls.
- type PanelService struct{}
- func (s *PanelService) RestartPanel(delay time.Duration) error {
- p, err := os.FindProcess(syscall.Getpid())
- if err != nil {
- return err
- }
- go func() {
- time.Sleep(delay)
- err := p.Signal(syscall.SIGHUP)
- if err != nil {
- logger.Error("failed to send SIGHUP signal:", err)
- }
- }()
- return nil
- }
|