Я работаю над простым клиентом s sh, который подключается к нескольким удаленным хостам и позволяет читать файлы журналов. Мне удается подключиться и запустить команды на моей удаленной машине
stdin, err := session.StdinPipe()
if err != nil {
log.Fatalf("Failed to establish stdin pipe: %v", err)
}
session.Stdout = os.Stdout
session.Stderr = os.Stderr
err = session.Shell()
if err != nil {
log.Fatal(err)
}
reader := bufio.NewReader(os.Stdin)
for {
text, _ := reader.ReadString('\n')
if text == "exit\n" {
break
}
if text == "br\n" {
// ??? HOW ???
continue
}
_, err = fmt.Fprintf(stdin, "%s", text)
if err != nil {
log.Fatal(err)
}
}
Когда я запускаю tail -f access.tskv
, я получаю вывод на моем стандартном компьютере. Моя проблема в том, что я не могу понять, как отправить сигнал прерывания в оболочку на удаленном компьютере.
Есть идеи?