[Linux] 透過 SSH 在遠端機器上執行的 ps 顯示被截斷了?

[Linux] 透過 SSH 在遠端機器上執行的 ps 顯示被截斷了?

今天遇到一個奇怪的問題,用 ssh 直接在遠端機器執行一個 shell script,

裡面會執行 ps aux 的指令,但執行後的 ps 結果是被截斷的,

大約都斷在 80 字元那邊:

testuser@localhost ~ $ ssh root@172.1.1.1:/tmp/test.sh
2073 root     132276 S   python -u -m /opt/myproject/testing_lab/core/cluster_
2311 root      29992 S   python -u -m /opt/myproject/testing_lab/core/cluster_
2844 root        420 S   /bin/sh /opt/myproject/testing_lab/bin/init.sh
21014 root      19816 S   python -u -m /opt/myproject/testing_lab/manager/watch
32766 root      22576 S   python -u -m /opt/myproject/testing_lab/manager/worke

 

如果是先用 ssh 登入遠端機器,再直接執行 ps aux,就沒有這個問題…

查了一下,how to set ssh window width and length 這篇有人提到一個方法,

就是在 ssh 裡加上 -t 選項,-t 選項的意思是要強制產生一個 psuedo tty,

讓跟螢幕大小相關的程式可以正確的執行~

雖然有點不太懂是怎麼運作的,不過看來應該是沒有限制螢幕寬度的意思,

執行之後,確實 ps aux 的結果就沒有被截斷囉: 

testuser@localhost ~ $ ssh -t root@172.1.1.1:/tmp/test.sh
2073 root     132276 S   python -u -m /opt/myproject/testing_lab/core/cluster_master.py
2311 root      29992 S   python -u -m /opt/myproject/testing_lab/core/cluster_slave.py
2844 root        420 S   /bin/sh /opt/myproject/testing_lab/bin/init.sh
21014 root      19816 S   python -u -m /opt/myproject/testing_lab/manager/watchdog.py
32766 root      22576 S   python -u -m /opt/myproject/testing_lab/manager/worker.py

 

(本頁面已被瀏覽過 150 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料