golang程序被Notify()阻止

I am a new learner of golang. I completed a daemon program and make it ready to receive signals. It worked well for the normal case.

But if I kill the process using "kill -9" and restart it again, I find it is always blocked at Notify(). Until I restart OS, it could work well again. OS is centOS 7.0. Could anyone know the problem ? I could not find any similar problem by google. Thanks a lot !

Codes like that: Updated codes so that use following codes to reproduce problem:

package main
import (
    "fmt"
    "os"
    "os/signal"
    "syscall"
)
func sigHandler() {
    c := make (chan os.Signal, 1)
    fmt.Println("Daemon: before Notify() ") //always appear succussfully

    signal.Notify(c)

    fmt.Println("Daemon: block to receive signal ") 
    /*if restart after "kill", above msg will not appear again. And this  program could not receive any sigal again...*/

    //for true {  //remove true according to comments 
    for {
        s := <-c
        fmt.Println("Daemon: receive signal ", s)
    }
}

func main() {
       ret, _, _:= syscall.RawSyscall(syscall.SYS_FORK, 0, 0, 0)
       if ret > 0 { //parent exit
            os.Exit(0)
       }
       sigHandler() //block main to receive signal
 }