将beego添加到windows 服务中开机自动启动

用golang实现 注册服务,安装服务,删除服务

package main

import (
    "github.com/astaxie/beego"
    "github.com/kardianos/service"
    "os"
)
var logger = service.ConsoleLogger

type program struct{}

func (p *program) Start(s service.Service) error {
    go p.run()
    return nil
}

func (p *program) run() {
    beego.Run()
    // 运行逻辑
}

func (p *program) Stop(s service.Service) error {
    return nil
}

func main() {
    svcConfig := &service.Config{
        Name:        "Trim",                 //服务显示名称
        DisplayName: "Trim Service", //服务名称
        Description: "微服务",      //服务描述
    }

    prg := &program{}
    s, err := service.New(prg, svcConfig)
    if err != nil {
        logger.Error(err)
    }

    if err != nil {
        logger.Error(err)
    }

    if len(os.Args) > 1 {
        switch os.Args[1] {
        case "install":
            s.Install()
            logger.Info("服务安装成功!")
            s.Start()
            logger.Info("服务启动成功!")
            break
        case "start":
            s.Start()
            logger.Info("服务启动成功!")
            break
        case "stop":
            s.Stop()
            logger.Info("服务关闭成功!")
            break
        case "restart":
            s.Stop()
            logger.Info("服务关闭成功!")
            s.Start()
            logger.Info("服务启动成功!")
            break
        case "remove":
            s.Stop()
            logger.Info("服务关闭成功!")
            s.Uninstall()
            logger.Info("服务卸载成功!")
            break
        }
        return
    }
    err = s.Run()
    if err != nil {
        logger.Error(err)
    }
}

编译运行

将beego添加到windows 服务中开机自动启动

如果编译提示找不到  golang.org\x\sys\windows\registry  库的话,就是 墙的问题了......

就去 https://gitee.com/bandung/golang.org  下载库的压缩包放到src目录下

 将beego添加到windows 服务中开机自动启动

 

服务的属性默认是自动的,就是开机自动启动
!!!

上一篇:使用jquery控制div的显示与隐藏


下一篇:Beego没gin配置静态页面方便