sda*_*bet 36 terminal ps putty
当ps使用-fPuTTY 中的选项运行时(查看每个进程对应的命令),长于终端宽度的行不完全可见(它们不会被包裹在多行上)。
如何强制换行,以便在运行时可以看到完整的命令(如有必要,在多行上)ps -f?
sch*_*ily 40
如果您有符合 POSIX 的ps实现,您可以尝试
ps -f | more
Run Code Online (Sandbox Code Playgroud)
请注意,我们¹最近更改了行为,如果您有遵循 POSIX 问题 7 tc2 的实现,您可以尝试:
ps -wwf | more
Run Code Online (Sandbox Code Playgroud)
¹我们是每周召开电话会议来讨论 POSIX 标准演变的人。
小智 11
我可能已经在 Stack Overflow 上找到了您的问题的答案 。用丹尼斯威廉姆森的话来说:
您可能正在使用诸如 less 或 most 之类的寻呼机,因为 ps aux 的输出比 screenful 长。如果是这样,以下选项将导致(或强制)长行换行而不是被截断。
ps aux | less -+S
ps aux | most -w如果您使用以下任一命令,则不会换行,但您可以使用箭头键或其他移动键左右滚动。
ps aux | less -S# 使用箭头键,或Esc+(和Esc+ ),或Alt+(和 Alt+)
ps aux | most# 使用箭头键, or <and >(Tab 也可以用来向右滚动) 行总是换行为 more 和 pg。当
ps aux在管道中时,w选项是不必要的,因为PS只使用屏幕宽度时输出到终端。
(注意:这适用于非嵌入式 Linux,ps其他 Unix 变体上的实用程序可能会有所不同。)
小智 7
还有另一个简单的解决方案:
\necho "$(ps afx)"\nRun Code Online (Sandbox Code Playgroud)\n当在这样的命令替换中运行时,ps\xe2\x80\x99t 不会将其输出发送到终端,因此它不会\xe2\x80\x99t 将其输出限制为终端\xe2\x80\x99s 宽度。