12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package zdaemon
- import (
- "fmt"
- "git.swzry.com/zry/pathutils"
- "gopkg.in/yaml.v2"
- "io/ioutil"
- "os"
- "path"
- "runtime"
- )
- type yamldef_DaemonConfig struct {
- OS string `yaml:"os"`
- InstallMode string `yaml:"install_mode"`
- IsRunning bool `yaml:"is_running"`
- PID int `yaml:"pid"`
- IpcAddr string `yaml:"ipc_addr"`
- }
- func (zd *ZDaemon) getStatus() {
- zd.resetStatus()
- cpath := path.Join(zd.zdaemonPath, "zdaemon.yaml")
- fe, _ := pathutils.PathExists(cpath)
- if fe {
- ydata, err := ioutil.ReadFile(cpath)
- if err != nil {
- zd.resetStatus()
- zd.writeStatus()
- return
- }
- err = yaml.Unmarshal(ydata, zd.daemonConfig)
- if err != nil {
- zd.resetStatus()
- zd.writeStatus()
- return
- }
- } else {
- zd.resetStatus()
- zd.writeStatus()
- return
- }
- }
- func (zd *ZDaemon) resetStatus() {
- zd.daemonConfig = &yamldef_DaemonConfig{
- OS: runtime.GOOS,
- InstallMode: "free",
- IsRunning: false,
- PID: -1,
- IpcAddr: "",
- }
- }
- func (zd *ZDaemon) writeStatus() {
- cpath := path.Join(zd.zdaemonPath, "zdaemon.yaml")
- ydata, err := yaml.Marshal(zd.daemonConfig)
- if err != nil {
- fmt.Println("Failed marshal daemon.yaml: ", err.Error())
- os.Exit(-1)
- }
- err = ioutil.WriteFile(cpath, ydata, 0666)
- if err != nil {
- fmt.Println("Failed write daemon.yaml: ", err.Error())
- os.Exit(-1)
- }
- }
|