如何为`ps`设置“无限”屏幕宽度以防止它截断输出?

如何为`ps`设置“无限”屏幕宽度以防止它截断输出?

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

答案1

加倍-w选项设置无限宽度:

ps -fww -C kubelet

ps本身不支持模式搜索,但您可以将其与pgrep

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

(如果没有进程匹配,这将产生错误。)

答案2

获得宽输出的更通用方法是:

env COLUMNS=2048 ps

或者,使 的输出ps不是终端:

ps | cat

这非常接近于无用的使用cat

相关内容