Deaktivieren Sie das Terminal in Golang

WBOY
Freigeben: 2024-02-14 19:40:08
nach vorne
567 Leute haben es durchsucht

在 Golang 中禁用终端

In Golang ist das Deaktivieren des Terminals eine häufige Anforderung, um zu verhindern, dass Programme Informationen im Terminal ausgeben. Dies ist in bestimmten Szenarien sehr nützlich, z. B. beim Ausführen eines Programms im Hintergrund, als Dienst usw. Durch die Deaktivierung des Terminals können Programme leiser und privater werden und gleichzeitig effizienter ausgeführt werden. In diesem Artikel wird erläutert, wie Sie das Terminal in Golang deaktivieren, und entsprechende Codebeispiele und Erklärungen bereitgestellt. Unabhängig davon, ob Sie Anfänger oder erfahrener Entwickler sind, können Sie in diesem Artikel schnell lernen, wie Sie die Terminalfunktion in Golang deaktivieren.

Frageninhalt

Ich verwende eine externe Bibliothek, die entweder ein Passwort auf dem Terminal erfordert oder einen Puffer verwendet, der das richtige Passwort zurückgeben muss. Es selbst verwendet eine andere Bibliothek, um zu prüfen, ob das Terminal verfügbar ist. Die Bibliothek gibt an, dass das Terminal verfügbar ist, was richtig ist.

Ich möchte das Terminal deaktivieren, um das Passwort aus dem von mir bereitgestellten Puffer zu verwenden. Wie kann ich das machen?

Workaround

Soweit ich weiß, prüft diese Bibliothek, ob ein bestimmter Dateideskriptor über einen Systemaufruf von einem Endgerät kommt. Sie können die Standardeingabe deaktivieren und Schluss machen :) Wenn die Bibliothek fest codiert ist os.Stdout ,则需要另一个解决方案,因为如果您关闭 os.Stdout, können Sie die Terminalausgabe nicht mehr verwenden.

Der folgende Code gibt Fehler aus.

package main

import (
    "fmt"
    "github.com/mattn/go-isatty"
    "os"
)

func main() {
    err := os.Stdin.Close()
    if err != nil {
        fmt.Println("Could not close stdin")
        panic(err)
    }

    fmt.Println(isatty.IsTerminal(os.Stdin.Fd()))
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDeaktivieren Sie das Terminal in Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage