dongpo4197 2014-04-28 19:26
浏览 131
已采纳

在Cygwin上捕捉Ctrl + c

The following golang code catches <kbd>CTRL</kbd>+<kbd>C</kbd> when run from a DOS prompt, but when I run it from Cygwin it doesn't catch anything when <kbd>CTRL</kbd>+<kbd>C</kbd> is pressed.

What does Cygwin do when <kbd>CTRL</kbd>+<kbd>C</kbd> is pressed? My OS is Win7 64 bit running 32 bit 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条回答 默认 最新

  • draxq02664 2014-05-01 00:46
    关注

    The answer I got on the cygwin mail list is that in order for signaling to work the program has to be compiled and linked with a Cygwin compiler and linker. Cygwin is not a supported platform for golang, so I'm not going to be able to catch <kbd>CTRL</kbd>+<kbd>C</kbd> in a golang program launched from Cygwin.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料