svn commit: r225868 - head/bin/ps

Alexander Best arundel at freebsd.org
Sat Oct 1 21:10:03 UTC 2011


On Sat Oct  1 11, Alexander Best wrote:
> On Sat Oct  1 11, Jilles Tjoelker wrote:
> > On Sat, Oct 01, 2011 at 05:14:01PM +0000, Alexander Best wrote:
> > > On Sat Oct  1 11, Ed Schouten wrote:
> > > > Also, it would be better if we replaced the "??" string with "-". When
> > > > we print "??", it actually means: this process has no controlling
> > > > terminal, not that we don't know which TTY it is.
> > 
> > > good point. also i was thinking: if a process had a controlling
> > > terminal, but that terminal has been revoked, are users really
> > > interested to know what the name of that revoked terminal was? can't
> > > we just use "-"? is it important to know whether a process never had a
> > > controlling terminal, or had one at some point, but not anymore?
> > 
> > I think this is potentially useful, because it shows that the process
> > did not explicitly detach from the terminal (such as via setsid(2)).
> > 
> > Particularly if the terminal is real (not a pseudo-terminal), its name
> > may be useful in recognition.
> > 
> > When asking for processes attached to a specific terminal with ps's t
> > option, ps will also show processes that used to be attached ("-"),
> > possibly allowing users to keep track of processes better.
> > 
> > It appears that even if a terminal is "revoked" in this way, it still
> > prevents reuse of the pts number.
> 
> that's a very good explanation. :) so yeah...let's keep it the way it is.
> 
> > 
> > > also the ps(1) man page claims that a process running on console has a "TT"
> > > entry of "con". i've never seen such an entry. is this still correct?
> > 
> > This may indeed be no longer the case, although it was never common to
> > see "con". With syscons in multi-user mode, you cannot log in on
> > /dev/console, only on /dev/ttyv*. With syscons in single-user mode,
> > ps(1) says "v0" or "ttyv0" but tty(1) says /dev/console.
> > 
> > > and the last point i'd like to make: looking at 'ps alx' on freebsd
> > > 7.x makes it easy to distinguish between ttys and pts'es, because they
> > > are names ttyvX and ttypX. looking at the same output under HEAD, all
> > > pts terminal descriptors have moved to /dev/pts/X. so they will not
> > > show up as pX, but merely as X.
> > 
> > > can't we tell ps to prefix anything coming from /dev/pts with a "p"?
> > 
> > > in this output:
> > 
> > >  1001 1780 1778   1  16  0   15956   3136 pause    Is    0    0:00,02 /usr/local/bin/zsh
> > 
> > > users are supposed to know that the "0" stands for /dev/pts/0. imho
> > 
> > >  1001 1780 1778   1  16  0   15956   3136 pause    Is   p0    0:00,02 /usr/local/bin/zsh
> > 
> > > would be much better here (like under freebsd 7.x).
> > 
> > I rather like the new output. Pseudo-terminals are by far the most
> > common kind of terminal and there may be many of them, so it makes sense
> > not to have a prefix. The t option in ps also accepts these short names,
> > like 'ps lt0'. All other terminal names start with a letter.
> > 
> > In FreeBSD 7, the first 256 pseudo-terminals are named
> > /dev/tty[pqrsPQRS][0-9a-v]. A few more letters can be used to provide a
> > few more pseudo-terminals but even then two characters suffice.
> > 
> > The TTY keyword shows the full pathname relative to /dev.
> 
> i think we should adjust the following paragraph
> 
> "     tt       An abbreviation for the pathname of the controlling terminal,
>                if any.  The abbreviation consists of the three letters follow-
>                ing /dev/tty, or, for the console, ``con''.  This is followed
>                by a `-' if the process can no longer reach that controlling
>                terminal (i.e., it has been revoked).
> "
> 
> to something like this then
> 
> "     tt       An abbreviation for the pathname of the controlling terminal,
>                if any.  The abbreviation consists of the three letters follow-
>                ing /dev/tty, or, for pseudo-terminals, the entry in /dev/pts.
>                This is followed by a `-' if the process can no longer reach
>                that controlling terminal (i.e., it has been revoked).
>                The full pathname of the controlling terminal is available via
>                the tty keyword.
> "

i'd like to propose the following patch. any objections?

cheers.
alex

> 
> cheers.
> alex
> 
> ps: i am also wondering, why -o and -O aren't mutually exclusive. this would
> make more sense to me.
> 
> > 
> > -- 
> > Jilles Tjoelker
-------------- next part --------------
diff --git a/bin/ps/ps.1 b/bin/ps/ps.1
index 8c27186..44a8d0e 100644
--- a/bin/ps/ps.1
+++ b/bin/ps/ps.1
@@ -29,7 +29,7 @@
 .\"     @(#)ps.1	8.3 (Berkeley) 4/18/94
 .\" $FreeBSD$
 .\"
-.Dd July 1, 2011
+.Dd October 1, 2011
 .Dt PS 1
 .Os
 .Sh NAME
@@ -427,12 +427,15 @@ The process is being traced or debugged.
 An abbreviation for the pathname of the controlling terminal, if any.
 The abbreviation consists of the three letters following
 .Pa /dev/tty ,
-or, for the console,
-.Dq Li con .
+or, for psuedo-terminals, the corresponding entry in
+.Pa /dev/pts .
 This is followed by a
 .Ql -
 if the process can no longer reach that
 controlling terminal (i.e., it has been revoked).
+The full pathname of the controlling terminal is available via the
+.Cm tty
+keyword.
 .It Cm wchan
 The event (an address in the system) on which a process waits.
 When printed numerically, the initial part of the address is


More information about the svn-src-all mailing list