[Linux] 透過 SSH 在遠端機器上執行的 ps 顯示被截斷了?
今天遇到一個奇怪的問題,用 ssh 直接在遠端機器執行一個 shell script,
裡面會執行 ps aux 的指令,但執行後的 ps 結果是被截斷的,
大約都斷在 80 字元那邊:
testuser@localhost ~ $ ssh [email protected]:/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 [email protected]:/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
(本頁面已被瀏覽過 303 次)