CTRL + C не ловится - PullRequest
       20

CTRL + C не ловится

0 голосов
/ 06 ноября 2018

Я пытаюсь написать программу, которая печатает «wait» при каждом нажатии cntrl + c и продолжает печатать числа от 1 до 10. В противном случае числа от 1 до 10 следует печатать с задержкой 10 секунд между каждым числом. . Однако всякий раз, когда я нажимаю, не распознается control + c и не печатается «wait», только цифры от 1 до 10.

    func main() {
        c := make(chan os.Signal, 1)
        signal.Notify(c, os.Interrupt)
        go func() {
            for sig := range c {
                fmt.Print(sig)
                fmt.Print("WAIT")
            }
        }()
        for i := 1; i <= 10; i++ {
            fmt.Println(i)
            time.Sleep(time.Second)
        }

}

1 Ответ

0 голосов
/ 06 ноября 2018

Вы должны убедиться, что ваш терминал или настройки эмулятора терминала настроены так, чтобы делать то, что вы пытаетесь сделать. Терминальные драйверы делают много фильтрации. Например, в Enunchs ключи переводятся в отправленные приложению, а затем возвращаются в терминал как.

Ваш драйвер терминала может просто игнорировать. Это может быть в режиме passthu, когда он просто отправляет в качестве символа ваше приложение.

Способ установки таких параметров зависит от вашей операционной системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...