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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"