8
8
"os"
9
9
"os/exec"
10
10
"path/filepath"
11
- // "time "
11
+ "strings "
12
12
13
13
"github.com/kardianos/service"
14
14
)
@@ -35,46 +35,6 @@ type program struct {
35
35
cmd * exec.Cmd
36
36
}
37
37
38
- // func (p *program) runMindoc() {
39
- // // 获取命令行参数
40
- // cwd := os.Args[1] // mindoc运行目录
41
- // cmd := os.Args[2] // mindoc命令
42
-
43
- // // 连续尝试次数
44
- // retries := 0
45
- // maxRetries := 5
46
-
47
- // for {
48
- // // 执行mindoc命令
49
- // cmd := exec.Command(cmd, cwd)
50
- // cmd.Stdout = os.Stdout
51
- // cmd.Stderr = os.Stderr
52
- // err := cmd.Start()
53
- // if err != nil {
54
- // fmt.Println(err)
55
- // return
56
- // }
57
-
58
- // // cmd.Process.Kill()
59
-
60
- // // 等待mindoc运行结束,或发生错误
61
- // err = cmd.Wait()
62
- // if err != nil {
63
- // retries++
64
- // fmt.Printf("mindoc exited with error, retrying (%d/%d)...\n", retries, maxRetries)
65
- // time.Sleep(5 * time.Second)
66
- // } else {
67
- // retries = 0
68
- // }
69
-
70
- // // 超过最大重试次数,退出
71
- // if retries > maxRetries {
72
- // fmt.Println(" mindoc max retries exceeded, exiting!")
73
- // return
74
- // }
75
- // }
76
- // }
77
-
78
38
func (p * program ) run () {
79
39
logger .Info ("Starting " , p .DisplayName )
80
40
defer func () {
@@ -132,10 +92,6 @@ func (p *program) Start(s service.Service) error {
132
92
return nil
133
93
}
134
94
135
- // func (p *program) Restart(s service.Service) error {
136
- // return nil
137
- // }
138
-
139
95
func (p * program ) Stop (s service.Service ) error {
140
96
// 停止mindoc-daemon
141
97
close (p .exit )
@@ -149,14 +105,6 @@ func (p *program) Stop(s service.Service) error {
149
105
return nil
150
106
}
151
107
152
- // func (p *program) Install(s service.Service) error {
153
- // return nil
154
- // }
155
-
156
- // func (p *program) Uninstall(s service.Service) error {
157
- // return nil
158
- // }
159
-
160
108
func getConfigPath () (string , error ) {
161
109
fullexecpath , err := os .Executable ()
162
110
if err != nil {
@@ -166,7 +114,8 @@ func getConfigPath() (string, error) {
166
114
dir , execname := filepath .Split (fullexecpath )
167
115
ext := filepath .Ext (execname )
168
116
name := execname [:len (execname )- len (ext )]
169
-
117
+ name = strings .TrimSuffix (name , "_386" )
118
+ name = strings .TrimSuffix (name , "_amd64" )
170
119
return filepath .Join (dir , name + ".json" ), nil
171
120
}
172
121
@@ -202,35 +151,6 @@ func main() {
202
151
}
203
152
log .Printf ("dir: %s\n " , dir )
204
153
205
- /*
206
- svcConfig := &service.Config{
207
- Name: "mindoc-daemon",
208
- DisplayName: "mindoc Daemon Service",
209
- Description: "Service to start and monitor mindoc process",
210
- }
211
-
212
- prg := &program{}
213
- s, err := service.New(prg, svcConfig)
214
- if err != nil {
215
- log.Fatal(err)
216
- }
217
- if len(os.Args) > 1 {
218
- err = service.Control(s, os.Args[1])
219
- if err != nil {
220
- log.Fatal(err)
221
- }
222
- return
223
- }
224
- logger, err = s.Logger(nil)
225
- if err != nil {
226
- log.Fatal(err)
227
- }
228
- err = s.Run()
229
- if err != nil {
230
- logger.Error(err)
231
- }
232
- */
233
-
234
154
svcFlag := flag .String ("service" , "" , "Control the system service." )
235
155
flag .Parse ()
236
156
0 commit comments