Go1.9windows创建服务小实例
来源:互联网 发布:多益网络校园招聘2018 编辑:程序博客网 时间:2024/05/20 23:33
package mainimport ( "context" "fmt" "log" "net" "net/http" "os" "github.com/kardianos/service")type services struct { log service.Logger srv *http.Server cfg *service.Config}func (srv *services) Start(s service.Service) error { if srv.log != nil { srv.log.Info("Start run http server") } lis, err := net.Listen("tcp", ":1789") if err != nil { return err } go srv.srv.Serve(lis) return nil}func (srv *services) Stop(s service.Service) error { if srv.log != nil { srv.log.Info("Start stop http server") } return srv.srv.Shutdown(context.Background())}func main() { File, err := os.Create("http-server.log") if err != nil { File = os.Stdout } defer File.Close() log.SetOutput(File) http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, r.URL.Path) }) var s = &services{srv: &http.Server{Handler: http.DefaultServeMux}, cfg: &service.Config{ Name: "GoHttpServer", DisplayName: "Go Service Example", Description: "This is an example Go service.", }} sys := service.ChosenSystem() srv, err := sys.New(s, s.cfg) if err != nil { log.Fatalf("Init service error:%s\n", err.Error()) } s.log, err = srv.SystemLogger(nil) if err != nil { log.Printf("Set logger error:%s\n", err.Error()) } if len(os.Args) > 1 { switch os.Args[1] { case "install": err := srv.Install() if err != nil { log.Fatalf("Install service error:%s\n", err.Error()) } case "uninstall": err := srv.Uninstall() if err != nil { log.Fatalf("Uninstall service error:%s\n", err.Error()) } } return } err = srv.Run() if err != nil { log.Fatalf("Run programe error:%s\n", err.Error()) }}
阅读全文
1 0
- Go1.9windows创建服务小实例
- Go1.8操作Windows硬盘小实例
- Go1.9接入prometheus监控小实例
- Go1.9组播发送消息小实例
- Go1.10在编译成dll小实例
- Go1.9 tcpproxy代理小实现
- Go1.9获取Windows进程专用内存工作集
- golang语言错误: object is [windows amd64 go1.8 X:framepointer] expected [windows amd64 go1.9 X:framepoin
- Quartz.NET 2.0实例创建Windows服务实现任务调度
- Quartz.NET 2.0实例创建Windows服务实现任务调度
- C#创建windows服务搭配定时器Timer使用实例
- Go1.5从文件读取密码,然后到远端下载文件的小实例.(通过sftp协议下载)
- 创建小程序实例
- windows服务创建过程
- 创建 Windows 服务应用程序
- Windows服务的创建
- C#创建Windows服务
- C#创建Windows服务
- myeclipse中配置spring+Struts+hibernate框架
- AndroidStudio运行项目出现DELETE_FAILED_INTERNAL_ERROR和INSTALL_CANCELED_BY_USER 标签: 应用Android调试
- 一个简易美观的Splash闪屏动画
- dbutils
- arm-linux-objdump
- Go1.9windows创建服务小实例
- 进度条实现
- Sift算子特征点提取、描述及匹配全流程解析
- Linux安装jdk和docker安装jdk
- JS url参数获取及汉字解码
- 南华OJ 重排串
- 文章标题
- JS实现堆排序
- git常用命令--简单易懂哈哈