防止 ^C 在 Go 中显示在 Ctrl+C 上

Dav*_*phy 3 go

我想防止在按下 Ctrl+C 时将“^C”输出到终端。

我正在捕获这样的中断命令:

c := make(chan os.Signal, 1)
signal.Notify(c, os.Interrupt)
signal.Notify(c, syscall.SIGTERM)
go func() {
    <-c
    // exit code here
}()
Run Code Online (Sandbox Code Playgroud)

...但是,当我按 Ctrl+C 时,“^C”会输出到终端中。这并不理想。

Gla*_*los 5

如果你之后打印一些东西,你可以做

fmt.Print("\r")
log.Println("Shutting down")
Run Code Online (Sandbox Code Playgroud)

\r是回车符;它告诉您的终端模拟器在行首移动光标。这样您就可以覆盖^C终端上的 。