ps output line length change

Mike Karels mike at karels.net
Sat Feb 17 00:46:59 UTC 2018


A couple of weeks ago, I sent email on the committers list proposing
reversion of r314685 changing the output line length for ps.  In
particular, it uses unlimited line length if stdout is not a tty.
The previous code used the tty width if any of stdout, stderr, or
stdin was a tty.  The change in r314685 has not been shipped in
any release yet.

The responses to that email all agreed with reversion.  However, there
has been some additional discussion in private email.  Therefore, I
am sending this to arch at .

My reasoning is this;

1. The output line length for the following commands should reasonably
be the same in an interactive session: ps, ps | more, ps | grep.

2. The previous behavior is the way things have worked since 1990,
as Conrad pointed out.  As others pointed out, it has long been known
that -ww was required to get unlimited lines, e.g. in a script.  I
don't see any significant justification to change 28 years of precedent.

3. The rationale for the change included that it is easier for scripts
(which I maintain are broken if they assume this), and that it doesn't
matter if using less with left-right scrolling.  We shouldn't make
assumptions about what the output is going through, let alone assume
left-right scrolling.  The previous algorithm was described as magic,
but I think it is straightforward.  Perhaps a comment is in order.

I tried to think of a compromise solution, but the only thing that
comes to mind is messy: an environment variable that would enable
unlimited line length when the output was not a tty.  That would not
be easier for scripts.  And as Bruce noted, aliasing ps to "ps -ww"
does not work with old BSD-stype "ps axu".

What do people think should be done?

Thanks,
		Mike

------- End of Forwarded Message


More information about the freebsd-arch mailing list