![如何为`ps`设置“无限”屏幕宽度以防止它截断输出?](https://linux22.com/image/195614/%E5%A6%82%E4%BD%95%E4%B8%BA%60ps%60%E8%AE%BE%E7%BD%AE%E2%80%9C%E6%97%A0%E9%99%90%E2%80%9D%E5%B1%8F%E5%B9%95%E5%AE%BD%E5%BA%A6%E4%BB%A5%E9%98%B2%E6%AD%A2%E5%AE%83%E6%88%AA%E6%96%AD%E8%BE%93%E5%87%BA%EF%BC%9F.png)
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
ps -fww -C kubelet
ps
本身不支持模式搜索,但您可以将其与pgrep
:
ps -fww -p $(pgrep -d, kubelet)
(如果没有进程匹配,这将产生错误。)
答案2
获得宽输出的更通用方法是:
env COLUMNS=2048 ps
或者,使 的输出ps
不是终端:
ps | cat
这非常接近于无用的使用cat
。