# osservice **Repository Path**: cuihong/osservice ## Basic Information - **Project Name**: osservice - **Description**: 制作系统 服务 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-12 - **Last Updated**: 2026-06-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 2021/10/26 取消界面组件 ## 2012/6/9 修改control方法中错误信息的输出 ,未测试 ## 2021/6/7 todo * [ ] 配置文件读取完毕,发出通知 ## 2021/6/4 将`"github.com/astaxie/beego/logs"`替换成`"gitee.com/cuihong/common/logs"` v0.0.11 ## 记录 * 首先构建Program对象 * 针对Program 读取配置 * 针对Program对象设置日志 * 除了主方法,还应该有个退出或者发生错误的清除方法 ## 功能 将程序打包成系统服务,支持出现错误重启,支持日志,支持配置文件读取 ## 接口定义 * Process 业务方法,也就是程序的主体方法。 必须实现 * Finalize 析构方法 ,主程序退出后,需要进行的清理。 可以空实现 * Monitor 提供运行状态监控的端口。如实现,可添加运行时监控的功能,由github.com/mkevac/debugcharts组件实现 * OnFailureRestart 提供发生错误后,过几秒重新执行Process方法。如不实现,则Process只会执行一次,发生错误后不会重试。 * ConfigVariable 如果程序需要读取配置文件,实现此方法将会添加一个通用的JSON配置文件读取的功能 * Program 此接口是默认的程序必须实现的接口,包含以上Process、Finalize、ConfigVariable接口 * ProcessFunc接口用于包装业务程序。参数context.Context用于通知业务程序退出。 ## 示例 [示例](example/example.go)