it-swarm.com.de

"top" zeigt keine Ausgabe über "ssh"

Ich benutze

ssh [email protected] top

um die top Ausgabe von "Host" zu zeigen, bekomme ich

TERM environment variable not set.

Was ist die Lösung?

Wie kann ich top auf "Host" so ausführen und die Ausgabe sehen?

2
rockstar

top zeigt die Ausgabe auf einem Endgerät, nicht auf einem Standard-Stream (z. B. STDOUT/STDERR). Da auf dem Remote-Host kein Terminal vorhanden ist, gehen Sie wie folgt vor:

ssh [email protected] top

es wird der Fehler ausgegeben, dass die Umgebungsvariable TERM nicht festgelegt wurde.

Sie müssen ein Pseudo-TTY auf dem Remote-Host mit der Option -t Von ssh zuweisen:

ssh -t [email protected] 'top'

Jetzt können Sie die Schlüssel wie gewohnt an top senden, z. q beenden, h für hilfe etc.

Dieselbe Lösung gilt für alle Programme, die eine TTY-Ausgabe benötigen.


Der Vollständigkeit halber können Sie ein Pseudo-TTY auch dann zuweisen, wenn es sich nicht um ein lokales TTY handelt, indem Sie mehrere -t Verwenden, z.

ssh -tt [email protected] 'top'
5
heemayl

Ich empfehle Folgendes, wenn Sie es auf Ihrem lokalen Host sehen möchten:

ssh [email protected] -t "top" oder noch besser ssh [email protected] -t "top -n1" Damit können Sie eine Instanz davon abrufen, wie die Ressourcen zu diesem Zeitpunkt ausgeführt wurden.

Sie können es sogar verbessern, um es auf folgende Weise in einer Datei zu erfassen:

ssh [email protected] -t "top -n1 -b" > topOutputFile

1
Luis Alvarado