查看ps输出中的完整命令


18

在PuTTY中ps使用该-f选项运行时(以查看与每个进程相对应的命令),长于端子宽度的线不完全可见(它们没有包裹在多行上)。

如何在运行时强制换行,以便可以看到完整的命令(如有必要,可以在多行上看到)ps -f


这不是一个答案,但是如果我在缩小的终端仿真器中运行ps -f,输出将包装在多行中。您正在使用哪个终端?
MatthewRock

1
这可能是以下项的副本: stackoverflow.com/questions/2159860/…–
tommygun

@MatthewRock我在这里使用PuTTy,您认为这是特定于它的吗?
sdabet

1
@Tonsenson无法作为跨站点副本关闭。
muru 2015年

1
:@fiddler啊,我们不能迁移,而主持人干预老问题,即使如此,它不建议meta.stackexchange.com/questions/8004/...
穆鲁

Answers:


16

如果您具有符合POSIX的ps实现,则可以尝试

ps -f | more

请注意,我们最近更改了行为,并且如果您的实现遵循POSIX问题7 tc2,则可以尝试:

ps -wwf | more

¹ 我们是每周召开电话会议来讨论POSIX标准演变的人们。


1
ps -wwf效果很好。
sdabet 2015年

8

我可能已经在Stack Overflow上找到了您问题的答案 。用丹尼斯·威廉姆森的话来说:

由于ps aux的输出比屏幕显示的更长,因此您使用的寻呼机可能更少或最多。如果是这样,以下选项将导致(或强制)长行换行而不是被截断。

ps aux | less -+S

ps aux | most -w 如果使用以下任一命令,则不会换行,但是可以使用箭头键或其他移动键向左和向右滚动。

ps aux | less -S #使用箭头键或Esc+ (Esc+ )Alt+ (Alt+)

ps aux | most #使用箭头键,或<>(Tab也可以用于向右滚动)行总是包裹着更多和pg。

ps aux在管道中时,w选项是不必要的,因为PS只使用屏幕宽度时输出到终端。

(注意:这适用于非嵌入式Linux,ps其他Unix变体上的实用程序可能会有所不同。)


@muru希望现在看起来更好。感谢您清理所有内容!
tommygun

很抱歉造成混乱。
MatthewRock

1
你的回答仅适用于/usr/ucb/ps,甚至与这个程序,你需要ww/usr/ucb/ps如果输出是管道限制输出宽度为80。对于POSIX标准ps,请参阅我的答案。
schily

1
@schily这个答案对于ps非嵌入式Linux上的通常命令是完全正确的,这是大多数读者都知道的。
吉尔(Gilles)'“ SO-别再作恶了”

1
但是OP没有将/ linux设置为标记。
schily

3

还有另一个简单的解决方案:

echo "$(ps afx)"

或只是ps afx
nyxee

1
只有“ ps Fax”会在一定数量的字符(我猜是72个标准终端长度)之后被切掉,回声“ $(您的命令)”的语法是不切掉的
cinatic

感谢那。现在,该命令在MacOS(我听说基于BSD)和Ubuntu(Linux)上的行为完全不同。Linux在您使用与否之间没有任何差异echo。但是,MAC OS X正在尽终端所能显示的那样打印。我正在使用iTerm2zsh。MAC不允许该--f选项。
nyxee


0

MacOS的命令略有不同 echo "$(ps aux)"


您不想echo不必要地通过它。还请注意,已经以某种方式提到 其他几个答案ps aux。我会建议对这些现有答案进行评论或编辑,以指出它们对于MacOS很有用(这就是我假设的意思)。
杰夫·谢勒

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.