0
我想通过ssh使用顶部转储特定进程的cpu使用情况,我希望显示完整的命令行。 当我ssh到服务器,并在本地执行命令,我看到以下内容:不同的输出命令通过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
但是,当我执行通过ssh相同的命令,我看到以下内容:
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
我不明白为什么当我通过ssh运行命令时,我没有得到完整的命令行(带有主机和端口参数*:11000)。
谁能告诉我我做错了什么?
我的本地桌面是OS X,埃尔卡皮坦而远程服务器的CentOS 6
“SSH客户端分配与运行命令时远程有限宽度的TTY终端”实际上,它不会在所有时默认运行远程命令分配一个tty。 – Kenster
谢谢kdeb。在ssh开始工作之后,我用pssh尝试了相同的命令,然后在分配终端(-X -tt)后失败了。看起来在pssh的情况下,伪终端宽度不够,最终可以通过设置终端宽度来实现,如下所示:'pssh -i -X -tt -H news-cache1“stty列200; top -c -b -n 1 | grep redis-server“' – Shital