Skip to content

Add a flag to control daemon or not, the signal handling miss #64

@liminghuang

Description

@liminghuang

Follow the Signal handling to do a sample, my program needs a flag to control it into daemon mode or not.
I add a new flag to control it.
dMode = flag.Bool("d", false, "Enable/Disable daemon mode")
and check the flag to enable daemon or not


    if *dMode == true {
		cntxt := &daemon.Context{
			PidFileName: "sample.pid",
			PidFilePerm: 0644,
			LogFileName: "sample.log",
			LogFilePerm: 0640,
			WorkDir:     "./",
			Umask:       027,
			Args:        []string{"[go-daemon sample]"},
		}

		if len(daemon.ActiveFlags()) > 0 {
			d, err := cntxt.Search()
			if err != nil {
				log.Fatalf("Unable send signal to the daemon: %s", err.Error())
			}
			daemon.SendCommands(d)
			return
		}

		d, err := cntxt.Reborn()
		if err != nil {
			log.Fatalln(err)
		}
		if d != nil {
			return
		}
		defer cntxt.Release()
	}

The program look likes running normally in background by daemon, but the pid file is created with empty content, then use -s stop flag to stop daemon, I got the error msg
Unable send signal to the daemon: EOF

Any idea? Please

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions