diff options
Diffstat (limited to 'web/service/panel.go')
| -rw-r--r-- | web/service/panel.go | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/web/service/panel.go b/web/service/panel.go new file mode 100644 index 00000000..f90d3e66 --- /dev/null +++ b/web/service/panel.go @@ -0,0 +1,26 @@ +package service + +import ( + "os" + "syscall" + "time" + "x-ui/logger" +) + +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("send signal SIGHUP failed:", err) + } + }() + return nil +} |
