在cygwin上捕获Ctrl + c

时间:2014-04-28 19:26:18

标签: go cygwin signals ctrl

当从DOS提示符运行时,以下golang代码捕获 CTRL + C ,但是当我从Cygwin运行它时,它不会捕获 + C

当按下 CTRL + C 时,Cygwin会怎么做?我的操作系统是Win7 64位,运行32位Cygwin。

    func main() {
        c := make(chan os.Signal, 1)
        signal.Notify(c, os.Interrupt)
        go func(){
        for sig := range c {
            fmt.Println(sig.String())
        }
        }()

        time.Sleep(5000 * time.Millisecond) 
        fmt.Println("Done")
    }

1 个答案:

答案 0 :(得分:4)

我在cygwin邮件列表上得到的答案是,为了使信令工作,程序必须编译并与Cygwin编译器和链接器链接。 Cygwin不是golang支持的平台,因此我无法在从Cygwin启动的golang程序中捕获 CTRL + C