dockerfiles/anylink/server/main.go

54 lines
867 B
Go
Raw Normal View History

2021-06-08 20:45:26 +08:00
// AnyLink 是一个企业级远程办公vpn软件可以支持多人同时在线使用。
2023-04-26 22:17:10 +08:00
//go:build !windows
2021-07-05 18:23:27 +08:00
// +build !windows
2021-06-08 20:45:26 +08:00
package main
import (
2021-07-05 18:23:27 +08:00
"embed"
2021-06-08 20:45:26 +08:00
"os"
"os/signal"
"syscall"
2021-07-05 18:23:27 +08:00
"github.com/bjdgyc/anylink/admin"
2021-06-08 20:45:26 +08:00
"github.com/bjdgyc/anylink/base"
"github.com/bjdgyc/anylink/handler"
)
2021-07-05 18:23:27 +08:00
//go:embed ui
var uiData embed.FS
2021-06-08 20:45:26 +08:00
// 程序版本
2021-07-05 18:23:27 +08:00
var CommitId string
2021-06-08 20:45:26 +08:00
func main() {
2021-07-05 18:23:27 +08:00
base.CommitId = CommitId
admin.UiData = uiData
2021-06-08 20:45:26 +08:00
base.Start()
handler.Start()
signalWatch()
}
func signalWatch() {
base.Info("Server pid: ", os.Getpid())
sigs := make(chan os.Signal, 1)
signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM, syscall.SIGALRM)
for {
sig := <-sigs
base.Info("Get signal:", sig)
switch sig {
case syscall.SIGUSR2:
// reload
base.Info("Reload")
default:
// stop
base.Info("Stop")
handler.Stop()
return
}
}
}