当我在我的linux服务器上运行ps -aux命令时,我使用putty连接到它,很少有进程太长而不能适应我当前的窗口宽度。还有别的选择吗?

——更新——

很抱歉我降级了,我觉得别人也不会觉得这个答案有用,所以我降级了。

这是你要的资料。

hadoop-user@hadoop-desk:~$ echo $TERM
xterm

hadoop-user@hadoop-desk:~$ stty -a
speed 38400 baud; rows 47; columns 158; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

hadoop-user@hadoop-desk:~$ echo $COLUMNS
158

当前回答

很抱歉来晚了,但我刚刚找到了这个问题的解决方案。

这些行被截断,因为ps坚持使用$COLUMNS的值,即使输出不是当时的屏幕。恕我直言,这是个bug。但是很容易变通,只要做出来就行了 ps认为你有一个超宽的屏幕,即设置COLUMNS高ps命令的持续时间。一个例子:

$ ps -edalf                 # truncates lines to screen width
$ COLUMNS=1000 ps -edalf    # wraps lines regardless of screen width

我希望这对某些人还是有用的。所有其他想法似乎都太复杂了:)

其他回答

如果上面的解决方案都不起作用,ps的输出不是你的问题。也许你需要设置腻子来包裹长线?

否则,我们需要更多的信息。

传递给它几个ws将忽略显示宽度。

简单而完美:

ps -efww

不会截断行

使用auxww标志,您将在终端窗口和shell脚本中看到输出的完整路径。

darragh@darraghserver ~ $uname -a
SunOS darraghserver 5.10 Generic_142901-13 i86pc i386 i86pc

darragh@darraghserver ~ $which ps
/usr/bin/ps<br>

darragh@darraghserver ~ $/usr/ucb/ps auxww | grep ps
darragh 13680  0.0  0.0 3872 3152 pts/1    O 14:39:32  0:00 /usr/ucb/ps -auxww
darragh 13681  0.0  0.0 1420  852 pts/1    S 14:39:32  0:00 grep ps

Ps aux列出所有用户执行的所有进程。详情见man ps。ww标志设置无限宽度。

-w         Wide output. Use this option twice for unlimited width.
w          Wide output. Use this option twice for unlimited width.

我在下面的博客上找到了答案: http://www.snowfrog.net/2010/06/10/solaris-ps-output-truncated-at-80-columns/

以上这些都不适用于带有busybox的docker容器。我用的是:

$ cat /proc/<PID>/cmdline | tr \\0 ' '