Se eu fizer login no meu host remoto via ssh e run top, ele pega o arquivo de configuração ~ / .toprc. Eu também posso executar o seguinte comando com sucesso
ssh -t <user>@<host> "top -b > top.dat"
No entanto, isso mantém a sessão do ssh aberta para sempre. Eu quero usar uma sessão ssh para iniciar um processo em lote superior e sair da sessão ssh. O problema que estou tendo é tudo que eu tentei, ou não funciona ou não pega o arquivo de configuração ~ / .toprc.
Aqui está o que eu tentei:
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"
Tudo com os mesmos resultados de não pegar ~ / .toprc
ssh -t <user>@<host> "top -b > top.dat &"
Top sai quando a sessão ssh é fechada (imediatamente)
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"
Não atende ~ / .toprc e reclama que o pseudo-terminal não será alocado porque stdin não é um terminal
Alguém pode explicar por que isso está acontecendo? Top diz que vai ler $ HOME / .toprc. Verifiquei que $ HOME está configurado em todos esses casos e que existe $ HOME / .toprc. O que é diferente sobre esses dois métodos que estão causando as chamadas assíncronas para não pegar o arquivo de configuração?
Obrigado.
EDIT 1
Aqui está o meu 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=���<�����MBN�D34��&'()*+,-./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
EDIT 2
Desculpe ... Ambas as máquinas não são Redhat 7. Eu não estava pensando quando disse isso. Eu estou sshing de uma máquina Redhat em uma máquina rodando yocto-linux usando um servidor ssh dropbear. Eu acabei de testar o openssh também. É provavelmente o servidor ssh nas receitas yocto que estão causando o problema. Acabei de testar Redhat para Redhat e com certeza ele funciona.