Linux

如何為ps設置“無限”螢幕寬度以防止它截斷輸出?

  • September 13, 2021

ps當標準輸出是一個終端以適應終端的寬度時截斷輸出。

我從中看到了ps --help output分別用於控制螢幕寬度和高度的ps支持--width和選項。--lines

我發現指定一個大的任意數字(如 )很尷尬--width 1000,那麼是否有一些值或選項可以設置“無限”螢幕寬度?

root@controlplane:~# apt list --installed procps
Listing... Done
procps/now 2:3.3.12-3ubuntu1.2 amd64 [installed,local]

額外:是否可以使用搜尋模式-C <cmd>來避免cmd逐字輸入?

例子

root@controlplane:~# ps -f -C kubelet 
UID        PID  PPID  C STIME TTY          TIME CMD
root      9231     1  0 08:20 ?        00:00:07 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/
root@controlplane:~# ps -f -C kubelet | cat
UID        PID  PPID  C STIME TTY          TIME CMD
root      9231     1  0 08:20 ?        00:00:08 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --network-plugin=cni --pod-infra-container-image=k8s.gcr.io/pause:3.2

將選項加倍-w設置無限寬度

ps -fww -C kubelet

ps本身不支持模式搜尋,但您可以將其與pgrep

ps -fww -p $(pgrep -d, kubelet)

(如果沒有程序匹配,這將產生錯誤。)

獲得廣泛輸出的更通用方法是:

env COLUMNS=2048 ps

或者,使輸出ps不是終端:

ps | cat

這非常接近於無用的使用 cat

引用自:https://unix.stackexchange.com/questions/668782