go语言如何自动进入守护态模式运行?

二进制可执行文件运行后自动进入守护态模式,linux下不需要加&符号

阅读 3.8k
3 个回答

import (

"os"
"os/exec"
"path/filepath"
"fmt"

)

func main() {

if os.Args[len(os.Args)-1] != "-d" {
    fpath, _ := filepath.Abs(os.Args[0])
    newCmd := []string{}
    for _, v := range os.Args {
        newCmd = append(newCmd, v)
    }
    newCmd = append(newCmd, "-d")
    cmd := exec.Command(fpath)
    cmd.Args = newCmd
    cmd.Start()
    return
}
fmt.Println("...")

}
通过exec来二次启动精灵进程,应该可以满足需求

试试supervisor

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题