MCPcopy Create free account
hub / github.com/OpenListTeam/OpenList / start

Function start

cmd/start.go:25–57  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

23}
24
25func start() {
26 initDaemon()
27 if pid != -1 {
28 _, err := os.FindProcess(pid)
29 if err == nil {
30 log.Info("openlist already started, pid ", pid)
31 return
32 }
33 }
34 args := os.Args
35 args[1] = "server"
36 args = append(args, "--force-bin-dir")
37 cmd := &exec.Cmd{
38 Path: args[0],
39 Args: args,
40 Env: os.Environ(),
41 }
42 stdout, err := os.OpenFile(filepath.Join(filepath.Dir(pidFile), "start.log"), os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0666)
43 if err != nil {
44 log.Fatal(os.Getpid(), ": failed to open start log file:", err)
45 }
46 cmd.Stderr = stdout
47 cmd.Stdout = stdout
48 err = cmd.Start()
49 if err != nil {
50 log.Fatal("failed to start children process: ", err)
51 }
52 log.Infof("success start pid: %d", cmd.Process.Pid)
53 err = os.WriteFile(pidFile, []byte(strconv.Itoa(cmd.Process.Pid)), 0666)
54 if err != nil {
55 log.Warn("failed to record pid, you may not be able to stop the program with `./openlist stop`")
56 }
57}
58
59func init() {
60 RootCmd.AddCommand(StartCmd)

Callers 2

start.goFile · 0.85
restart.goFile · 0.85

Calls 3

initDaemonFunction · 0.85
StartMethod · 0.80
OpenFileMethod · 0.45

Tested by

no test coverage detected