如何使用自定义〜/ .toprc进入,启动top和关闭ssh会话


1

如果我通过ssh登录到远程主机并运行top,它将获取〜/ .toprc配置文件。我也可以成功运行以下命令

ssh -t <user>@<host> "top -b > top.dat"

但是,这会使ssh会话永远打开。我想使用ssh会话来启动顶级批处理并退出ssh会话。我遇到的问题是我尝试过的所有方法都不起作用或无法使用〜/ .toprc配置文件。

这是我尝试过的:

ssh <user>@<host> "top -b > top.dat &"
ssh -f <user>@<host> "top -b > top.dat"
ssh -f <user>@<host> "nohup top -b > top.dat &"
ssh <user>@<host> "nohup top -b > top.dat &"
ssh -f <user>@<host> "nohup top -b > top.dat"

全部具有不接〜/ .toprc的相同结果

ssh -t <user>@<host> "top -b > top.dat &"

ssh会话关闭(立即)时,顶部退出

ssh -ft <user>@<host> "top -b > top.dat"
ssh -ft <user>@<host> "nohup top -b > top.dat &"
ssh -ft <user>@<host> "nohup top -b > top.dat"

不接收〜/ .toprc并抱怨伪终端将不会被分配,因为stdin不是终端

谁能解释为什么会这样?顶部表示它将读取$ HOME / .toprc。我已经验证在所有这些情况下都设置了$ HOME,并且存在$ HOME / .toprc。这两种导致异步调用无法获取配置文件的方法有何不同?

谢谢。

编辑1

这是我的toprc

top's Config File (Linux processes with windows)
Id:i, Mode_altscr=0, Mode_irixps=1, Delay_time=1.0, Curwin=0
Def fieldscur=�������ķ���&')*+,-./012���������FGHIJKLMN��QRSTUVWXYZ[\]^_`abcdefghij
    winflags=193840, sortindx=18, maxtasks=0, graph_cpus=0, graph_mems=0
    summclr=1, msgsclr=1, headclr=3, taskclr=1
Job fieldscur=�����(��Ļ�@<��)*+,-./012568>?ABCFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij
    winflags=193844, sortindx=0, maxtasks=0, graph_cpus=0, graph_mems=0
    summclr=6, msgsclr=6, headclr=7, taskclr=6
Mem fieldscur=���<�����MBND34��&'()*+,-./0125689FGHIJKLOPQRSTUVWXYZ[\]^_`abcdefghij
    winflags=193844, sortindx=21, maxtasks=0, graph_cpus=0, graph_mems=0
    summclr=5, msgsclr=5, headclr=4, taskclr=5
Usr fieldscur=�����������)+,-./1234568;<=>?@ABCFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij
    winflags=193844, sortindx=3, maxtasks=0, graph_cpus=0, graph_mems=0
    summclr=3, msgsclr=3, headclr=2, taskclr=3
Fixed_widest=0, Summ_mscale=0, Task_mscale=0, Zero_suppress=0

编辑2

抱歉...这两台机器都不是Redhat 7。我正在使用dropbear ssh服务器从Redhat计算机切换到运行yocto-linux的计算机。我也刚刚测试过openssh。yocto配方中的ssh服务器可能是导致此问题的原因。我刚刚对Redhat进行了Redhat测试,并确定它确实可以正常工作。


ssh -ft host -l用户“ nohup top -b> top.out”在debian9主机上运行良好。它读为〜/ .toprc。您的toprc是什么样的?
Raouf M. Bencheraiet

@ RaoufM.Bencheraiet刚刚添加了我的toprc文件。请参阅编辑1。我也不应该以root用户身份登录。
jesse_partman '18

我没有想问这个问题:如果您正常登录,而不是与top的输出运行top运行'top -b'相比,会发生什么,我认为正在发生的是-b标志禁用了很多东西从顶部输出/输入。
Raouf M. Bencheraiet

当我ssh并手动运行命令时,@ RaoufM.Bencheraiet的“ top -b”有效。抱歉,我早些关于Redhat-> Redhat的问题。请参见编辑2
jesse_partman
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.