49 lines
847 B
Markdown
49 lines
847 B
Markdown
# gocmdDaemon
|
|
|
|
这是一个基于 Unix Socket 的守护进程,提供命令注册和执行的功能。
|
|
|
|
## 安装
|
|
|
|
```bash
|
|
go get github.com/kingecg/gocmdDaemon
|
|
```
|
|
|
|
## 使用示例
|
|
|
|
```go
|
|
package main
|
|
|
|
import (
|
|
"github.com/kingecg/gocmdDaemon"
|
|
)
|
|
|
|
func main() {
|
|
// 创建守护进程实例
|
|
daemon := &gocmdDaemon.CmdDaemon{
|
|
SocketPath: "/tmp/my.sock",
|
|
}
|
|
|
|
// 注册命令处理程序
|
|
daemon.RegisterCmd("test", &MyCmdHandler{})
|
|
|
|
// 启动守护进程
|
|
daemon.Listen()
|
|
}
|
|
|
|
// MyCmdHandler 实现 CmdHandler 接口
|
|
type MyCmdHandler struct{}
|
|
|
|
func (h *MyCmdHandler) Handle(conn *gocmdDaemon.CmdConn, req *gocmdDaemon.CmdRequest) error {
|
|
return conn.End("Command executed successfully")
|
|
}
|
|
|
|
func (h *MyCmdHandler) Description() string {
|
|
return "A test command handler"
|
|
}
|
|
|
|
func (h *MyCmdHandler) Usage() string {
|
|
return "usage: test"
|
|
}
|
|
```
|
|
|