ถ้าฉันล็อกอินเข้าสู่รีโมตโฮสต์ของฉันผ่าน ssh และรันบนสุดมันจะเลือกไฟล์การกำหนดค่า ~ / .toprc ฉันยังสามารถรันคำสั่งต่อไปนี้ได้สำเร็จ
ssh -t <user>@<host> "top -b > top.dat"
อย่างไรก็ตามสิ่งนี้ทำให้เซสชัน ssh เปิดตลอดไป ฉันต้องการใช้เซสชัน ssh เพื่อเริ่มกระบวนการ batch สูงสุดและออกจากเซสชัน 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 ไม่ได้เป็นสถานี
ใครสามารถอธิบายได้ว่าทำไมสิ่งนี้ถึงเกิดขึ้น Top บอกว่าจะอ่าน $ 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=���<�����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
แก้ไข 2
ขออภัย ... ทั้งสองเครื่องไม่ใช่ Redhat 7 ฉันไม่ได้คิดถึงตอนที่พูด ฉันกำลัง sshing จากเครื่อง Redhat ไปยังเครื่องที่ใช้ yocto-linux โดยใช้เซิร์ฟเวอร์ ssh แบบ dropbear ฉันเพิ่งทดสอบ openssh ด้วย อาจเป็นเซิร์ฟเวอร์ ssh ในสูตร yocto ที่เป็นสาเหตุของปัญหา ฉันเพิ่งทดสอบ Redhat to Redhat และใช้งานได้จริง