2017-01-04 2 views
0

Ich möchte CPU-Nutzung eines bestimmten Prozesses über SSH mit Top-Dump und ich möchte volle Befehlszeile angezeigt werden. Wenn ich an den Server ssh und ausführen Befehl lokal, sehe ich folgendes:Unterschiedliche Ausgabe des Befehls über ssh

remote-server$ top -c -b -n 1 |grep redis-server 
5137 redis-user 20 0 83.5g 23g 884 S 13.7 29.3 13388:28 ./bin/redis-server *:11000 

Aber wenn ich den gleichen Befehl über SSH ausführen, sehe ich folgendes:

local-desktop$ ssh news-cache1 "top -c -b -n 1 |grep redis-server" 
5137 redis-user 20 0 83.5g 23g 884 S 13.7 29.4 13388:55 ./bin/redis-server 

Ich verstehe nicht, warum Ich bekomme keine vollständige Befehlszeile (mit Host- und Portargumenten *: 11000), wenn ich den Befehl über ssh ausführe.

Kann mir jemand sagen, was ich falsch mache?

Meine lokalen Desktop ist OS X, El Capitan, während Remote-Server CentOS 6.

Antwort

0

Rerun der Befehl mit Option -t in ssh.

local-desktop$ ssh -t news-cache1 "top -c -b -n 1 |grep redis-server" 

Der ssh-Client weist ein Terminal mit begrenzter Breite zu, wenn Sie Befehle remote ausführen. Die Breite des zugewiesenen Terminals reichte nicht aus, um die vollständige Zeile anzuzeigen, an der Sie interessiert sind. Das Hinzufügen von -t erzwingt eine Pseudo-Terminal-Zuweisung. Von http://man.openbsd.org/ssh

-t Force pseudo-terminal allocation. This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g. when implementing menu services. Multiple -t options force tty allocation, even if ssh has no local tty. 
+0

„SSH-Client weist einen TTY-Terminal mit begrenzten Breite, wenn Sie Befehle remote ausführen“ Eigentlich ist es nicht einen tty überhaupt standardmäßig vergeben, wenn Sie einen Remote-Befehl ausführen. – Kenster

+0

Danke kdeb. Nachdem ssh angefangen hat zu arbeiten, habe ich den gleichen Befehl mit pssh versucht und dann ist es auch nach der Zuweisung des Terminals (-X -tt) gescheitert. Es scheint im Falle von Pssh-Pseudo-Terminal-Breite nicht genug und schließlich war es in der Lage, es durch Einstellen der Terminal-Breite wie folgt arbeiten: 'Pssh -i-X -tt-H News-Cache1" Stty Spalten 200; Top -c -b -n 1 | grep Redis-Server "' – Shital

Verwandte Themen