Heim > Backend-Entwicklung > Golang > Warum verursacht das Hinzufügen von „-o cpu' zu My Go „exec.Command' für „top' einen Fehler und wie kann ich ihn beheben?

Warum verursacht das Hinzufügen von „-o cpu' zu My Go „exec.Command' für „top' einen Fehler und wie kann ich ihn beheben?

Linda Hamilton
Freigeben: 2024-12-17 04:21:25
Original
719 Leute haben es durchsucht

Why Does Adding

Befehlszeilenargumente mit Go verwenden

Dieser Go-Code ruft mithilfe des Befehls „top“ mit bestimmten Argumenten erfolgreich Details von 10 Prozessen ab:

package main

import (
    "os/exec"
)

func main() {
    print(top())
}

func top() string {
    app := "/usr/bin/top"

    cmd := exec.Command(app, "-n", "10", "-l", "2")
    out, err := cmd.CombinedOutput()

    if err != nil {
        return err.Error() + " " + string(out)
    }

    value := string(out)
    return value
}
Nach dem Login kopieren

Ein zusätzliches „-o cpu“-Argument führt jedoch zu einem Fehler:

cmd := exec.Command(app, "-o", "cpu", "-n", "10", "-l", "2")
Nach dem Login kopieren
Nach dem Login kopieren

In der Konsole funktioniert der Befehl „top -o cpu -n 10 -l 2“ wie vorgesehen. Das Problem liegt in der Art und Weise, wie das „-o“-Argument an den „top“-Befehl übergeben wird.

Um dieses Problem zu beheben, ist es notwendig, die Argumente explizit zu trennen, wie folgt:

cmd := exec.Command(app, "-o", "cpu", "-n", "10", "-l", "2")
Nach dem Login kopieren
Nach dem Login kopieren

Dadurch wird sichergestellt, dass die Argumente korrekt an den Befehl übergeben werden, sodass dieser ordnungsgemäß ausgeführt werden kann.

Das obige ist der detaillierte Inhalt vonWarum verursacht das Hinzufügen von „-o cpu' zu My Go „exec.Command' für „top' einen Fehler und wie kann ich ihn beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage