Paramiko Output ganz ausgeben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Phobit
User
Beiträge: 185
Registriert: Freitag 4. Mai 2018, 18:13

Hallo,
wenn ich über paramiko ssh den befehl "top -b -n 1 -c" ausführe und mir den Output ausgeben lasse, dann endet der output irgendwo, wenn er über die Zeile hinausgehen würde und bricht mit einem "+" ab.

Hier erstmal der Code:

Code: Alles auswählen

import paramiko

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy)

client.connect(hostname="hostname", username="username", password="password")
print("Connected via SSH!")

stdin, stdout, stderr = client.exec_command("top -b -n 1 -c")


listOfLines = stdout.readlines()

for i in listOfLines:
    print(i)
Der output sieht folgendermaßen aus (auszug):

503 root 20 0 8244 3160 2808 S 0.0 0.3 0:00.02 sudo pytho+

504 root 20 0 8244 3236 2884 S 0.0 0.3 0:00.02 sudo pytho+

513 root 20 0 4184 1468 1352 S 0.0 0.2 0:00.01 /sbin/aget+

539 root 20 0 125512 23296 8540 S 0.0 2.5 0:28.76 python3 /h+

540 root 20 0 64868 22916 8556 S 0.0 2.4 0:28.13 python3 /h+

Zum Beispiel werden hier verschiedene Python Programme ausgeführt, ich würde aber gerne sehen, welche. Wie man sieht, wenn der Output zu lange wird, bricht er mit einem "+" die Zeile ab. Ist es irgendwie möglich, sich die Zeile unabhängig ihrer Länge komplett ausgeben zu lassen?
Mir egal, ob der Code schön ist oder nicht.
Hauptsache er funkt!
Sirius3
User
Beiträge: 18270
Registriert: Sonntag 21. Oktober 2012, 17:20

Wenn ich Prozesse abfragen will, würde ich `ps` nehmen und nicht `top`. listOfLines ist einfach lines, und i ist ein schlechter Name für eine Zeile.
Antworten