| 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
 
- }
 
 
  |