Browse Source
Merge pull request #386 from songzhibin97/gva_gormv2_dev
新增api 重启服务(非windows)
main
奇淼(piexlmax
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
17 additions and
6 deletions
-
server/api/v1/sys_system.go
-
server/router/sys_system.go
|
|
@ -5,6 +5,11 @@ import ( |
|
|
|
"gin-vue-admin/model" |
|
|
|
"gin-vue-admin/model/response" |
|
|
|
"gin-vue-admin/service" |
|
|
|
"os" |
|
|
|
"os/exec" |
|
|
|
"runtime" |
|
|
|
"strconv" |
|
|
|
|
|
|
|
"github.com/gin-gonic/gin" |
|
|
|
"go.uber.org/zap" |
|
|
|
) |
|
|
@ -42,7 +47,6 @@ func SetSystemConfig(c *gin.Context) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 本方法开发中 开发者windows系统 缺少linux系统所需的包 因此搁置
|
|
|
|
// @Tags System
|
|
|
|
// @Summary 重启系统
|
|
|
|
// @Security ApiKeyAuth
|
|
|
@ -51,14 +55,20 @@ func SetSystemConfig(c *gin.Context) { |
|
|
|
// @Success 200 {string} string "{"success":true,"data":{},"msg":"重启系统成功"}"
|
|
|
|
// @Router /system/ReloadSystem [post]
|
|
|
|
func ReloadSystem(c *gin.Context) { |
|
|
|
var sys model.System |
|
|
|
_ = c.ShouldBindJSON(&sys) |
|
|
|
if err := service.SetSystemConfig(sys); err != nil { |
|
|
|
if runtime.GOOS == "windows" { |
|
|
|
response.FailWithMessage("系统不支持", c) |
|
|
|
return |
|
|
|
} |
|
|
|
pid := os.Getpid() |
|
|
|
cmd := exec.Command("kill", "-1", strconv.Itoa(pid)) |
|
|
|
err := cmd.Run() |
|
|
|
if err != nil { |
|
|
|
global.GVA_LOG.Error("重启系统失败!", zap.Any("err", err)) |
|
|
|
response.FailWithMessage("重启系统失败", c) |
|
|
|
} else { |
|
|
|
response.OkWithMessage("重启系统成功", c) |
|
|
|
return |
|
|
|
} |
|
|
|
response.OkWithMessage("重启系统成功", c) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
// @Tags System
|
|
|
|
|
|
@ -12,5 +12,6 @@ func InitSystemRouter(Router *gin.RouterGroup) { |
|
|
|
SystemRouter.POST("getSystemConfig", v1.GetSystemConfig) // 获取配置文件内容
|
|
|
|
SystemRouter.POST("setSystemConfig", v1.SetSystemConfig) // 设置配置文件内容
|
|
|
|
SystemRouter.POST("getServerInfo", v1.GetServerInfo) // 获取服务器信息
|
|
|
|
SystemRouter.POST("reloadSystem", v1.ReloadSystem) // 重启服务
|
|
|
|
} |
|
|
|
} |