How to fork a process

后端 未结 3 1852
太阳男子
太阳男子 2020-12-08 23:17

I need help understanding how to demonize a process in Go.

package main

import (
   \"fmt\"
   \"os\"
)

func start() {
   var procAttr os.ProcAttr 
   proc         


        
相关标签:
3条回答
  • 2020-12-08 23:37

    AFAIK Go doesn't yet fully support writing true daemons in Go. Some of the previous discussions about this topic:

    https://groups.google.com/d/topic/golang-nuts/KynZO5BQGks/discussion

    https://groups.google.com/d/topic/golang-nuts/1bF39FuX-48/discussion

    https://groups.google.com/d/topic/golang-nuts/0P_kErKUCEU/discussion

    https://groups.google.com/d/topic/golang-nuts/BSvqvyOqX-I/discussion

    https://groups.google.com/d/topic/golang-nuts/H6d-3UfAa1A/discussion

    0 讨论(0)
  • 2020-12-08 23:50

    I asked in 'golang-nuts', and found out that golang has a link option:

    go tool 8l -o output.exe -Hwindowsgui input.8
    
    0 讨论(0)
  • 2020-12-08 23:52

    Here is a fake daemon in go; it's simple to use: https://github.com/icattlecoder/godaemon

    An example:

    package main
    
    import (
        _ "github.com/icattlecoder/godaemon"
        "log"
        "net/http"
    )
    
    func main() {
        mux := http.NewServeMux()
        mux.HandleFunc("/index", func(rw http.ResponseWriter, req *http.Request) {
            rw.Write([]byte("hello, golang!\n"))
        })
        log.Fatalln(http.ListenAndServe(":7070", mux))
    }
    
    0 讨论(0)
提交回复
热议问题