On Sat, 10 Mar 2018, Mike Karels wrote:

...
Log:
 Change ps(1) output width to unlimited if not interactive
...

Modified: head/bin/ps/ps.1
==============================================================================
--- head/bin/ps/ps.1    Fri Mar  9 23:37:19 2018        (r330711)
+++ head/bin/ps/ps.1    Sat Mar 10 00:10:47 2018        (r330712)
@@ -101,6 +101,14 @@ The default output format includes, for each process,
controlling terminal, state, CPU time (including both user and system time)
and associated command.
.Pp
+If the
+.Nm
+process is associated with a terminal, the default output width is that of the
+terminal; otherwise the output width is unlimited.

It is unclear how a process is assocated with a terminal and thus what this
width is.

For ps, unlike for most programs, a process is associated with a terminal
iff any of the 3 standard file descriptors is a terminal that supports the
TIOCGWINSZ ioctl, and the width of the preferred one is not 0.  The
preferred one is the first of STDOUT_FILENO, STDERR_FILENO and STDIN_FILENO
that supports the ioctl.

BUGS: if the first one somehow has width 0, then the process is considered
as not being associated with a terminal even of a later one has a nonzero
width.

...
Modified: head/bin/ps/ps.c
==============================================================================
--- head/bin/ps/ps.c    Fri Mar  9 23:37:19 2018        (r330711)
+++ head/bin/ps/ps.c    Sat Mar 10 00:10:47 2018        (r330712)
@@ -202,6 +202,11 @@ main(int argc, char *argv[])
         * any of stdout, stderr, or stdin is a terminal.  The intent
         * is that "ps", "ps | more", and "ps | grep" all use the same
         * default line length unless -w is specified.
+        *
+        * If not interactive, the default length was traditionally 79.
+        * It has been changed to unlimited.  This is mostly for the
+        * benefit of non-interactive scripts, which arguably should
+        * use -ww, but is compatible with Linux.
         */

This belongs in the HOSTORY section of the man page, with version info
for the change.

Bruce
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to