点击链接查看我的个人博客,文章更全更详细

需要用到的包
github.com/kardianos/service
package mainimport ("fmt""os""sync""github.com/kardianos/service"
)type program struct {log service.Loggercfg *service.Config
}func (p *program) Start(s service.Service) error {go p.run()return nil
}func (p *program) run() {fmt.Println("fsdfasdfsd")//这里写运行时的代码wg.Done()
}func (p *program) Stop(s service.Service) error {return nil
}var wg sync.WaitGroupfunc main() {wg.Add(1)svcConfig := &service.Config{Name:        "test-service",DisplayName: "test-service",Description: "test-service",}prg := &program{}s, err := service.New(prg, svcConfig)if err != nil {fmt.Println(err.Error())}if len(os.Args) > 1 {if os.Args[1] == "install" {x := s.Install()if x != nil {fmt.Println("error:", x.Error())return}fmt.Println("服务安装成功")return} else if os.Args[1] == "uninstall" {x := s.Uninstall()if x != nil {fmt.Println("error:", x.Error())return}fmt.Println("服务卸载成功")return}}err = s.Run()if err != nil {fmt.Println(err.Error())}wg.Wait()
}

Mac

go build# 需要权限
sudo go ./main  install  # 安装服务 sudo go ./main uninstall # 卸载服务cd /Library/LaunchDaemons
ls # 查看安装的服务# 启动服务
launchctl load test-service.plist# 停止服务
launchctl unload test-service.plist

Linux

# 将上面代码交叉编译成linux可执行文件 扔到服务器上./main installcd /lib/systemd/system/或 /etc/systemd/system(中)
ls# 启动
systemctl start test-service.service# 停止
systemctl stop test-service.servicesystemctl enable test-service.service        # 设置服务开机自启动
systemctl is-enabled test-service.service    # 查询是否自启动服务
systemctl disable test-service.service       # 取消服务器开机自启动
systemctl list-units --type=service          # 列出正在运行的服务

Go 编写开机自启动服务相关推荐

  1. linux 设置开机自启动服务命令,linux开机自启动服务优化设置命令

    1.设置成英文字符,避免出现乱码 [root@xuegod62 ~]# LANG=en 2.两种配置linux开机自启动服务命令: 1) [root@xuegod62 ~]# ntsysv 2) [r ...

  2. linux实现开机自启动服务/脚本

    linux实现开机自启动服务或者开机自运行用户自定义脚本有三种方式 方式一: 执行 systemctl enable 服务名 命令,将对应服务的.service文件软链接到 /etc/systemd/ ...

  3. centos7 systemctl配置开机自启动服务

    centos7 systemctl配置开机自启动服务 centos7使用systemctl替代原来/etc/init.d,按官方的说法是提高系统服务的运行效率.服务配置更加简单易用,对于一些自定义的服 ...

  4. 将自己写的脚本添加至开机自启动服务和chkconfig的原理

    将自己写的脚本添加至开机自启动服务和chkconfig的原理 创建脚本测试 [root@anuo ~]# vim anuo.sh --创建个脚本 # !/bin/bash # chkconfig: 3 ...

  5. Centos 下添加开机自启动服务和脚本

    最近刚玩Centos7的系统,跟Centos6还是很多方面有改变的,这里记录一下怎么在Centos7下添加开机自启动脚本和服务的方法. 1.添加开机自启服务 我这里以docker 服务为例,设置如下两 ...

  6. Ubuntu编写开机自启动脚本(转载)

    From:http://blog.csdn.net/marujunyy/article/details/8466255 1.首先编写一个简单的shell脚本test.sh #! /bin/bash e ...

  7. linux设置activemq开机启动,Activemq(centos7)开机自启动服务

    编辑服务文件 vi /etc/init.d/activemq 文件内容如下 #!/bin/bash # chkconfig: 2345 10 90 # description: activemq .. ...

  8. Tomcat开启APR模式并设置Tomcat为开机自启动服务

    一.Tomcat Tomcat Connector(Tomcat连接器)有三种运行模式:bio.nio.apr. 1.BIO模式 ​ 阻塞式I/O操作,表示Tomcat使用的是传统Java I/O操作 ...

  9. 麒麟系统开机自启动服务、执行脚本、命令

    rc.local是一个较旧Linux启动加载脚本(目前主流系统主要用systemctl控制开机启动),目前仍然可用 1.普通命令可以直接写在rc.local里,(rc.local须有执行权限,没有的话 ...

最新文章

  1. Xamarin.Forms教程开发的Xcode的下载安装
  2. 完美解答35K月薪的MySQL面试题(三)MySQL是如何实现事务的?
  3. http://4526621.blog.51cto.com/4516621/1343369
  4. 万劫不复:恐怖悬疑话剧《下一个就是你》
  5. Excel函数 (使用 「index + match」代替 vlookup进行查询)
  6. Mybatis 处理日期格式自动转换
  7. Rust : AES算法加密、解密
  8. MTK驱动代码流程介绍:
  9. Nexus3功能介绍
  10. 计算机鼠标游戏教学法,练习使用鼠标教案
  11. 如何找到自己正确需要的抖音搜索关键词
  12. 数据库基础(面试常见题)
  13. win10 休眠设置无效_windows10系统电脑点击睡眠没反应的解决方法
  14. 基于python高校学生管理系统
  15. 区块链软件开发公司 区块链的基本原理
  16. “一键GHOST”系统备份与恢复 一键GHOST使用方法 - 绿色软件联盟 - 绿色免费共享
  17. 微软旗下GitHub宣布裁员10%;谷歌高管警告:AI聊天机器人会产生错觉;华为称在ChatGPT领域早有布局丨每日大事件...
  18. Unity使用波函数坍缩 (Wave Collapse Function)算法生成随机地图
  19. 机器学习新手十大算法
  20. 输出100 - 200之间的素数C语言

热门文章

  1. centos单机部署greenplum
  2. 字节跳动暑期实习生一面面经 大三
  3. 【计算机视觉】摄像机标定与畸变校正
  4. Navicat、PDMan、DBeaver三者ER图比较
  5. python blp模型 估计_谁能简单解释一下经济学中的BLP模型?
  6. ASP.net创建Controller视图时报错(Exception has been thrown by the target of an Invocation.)
  7. Python基于AIML智能聊天机器人实战(4)- 机器人自学习能力集成
  8. SQL 登录注入脚本_深圳嘉华学校之SQL 注入
  9. 高等数学考研笔记(八)
  10. 彩云碧海蓝天Mac高清动态桌面壁纸