cvs commit: src/sys/ddb db_ps.c

John Baldwin jhb at freebsd.org
Tue Apr 25 20:45:11 UTC 2006


On Tuesday 25 April 2006 16:34, John Baldwin wrote:
> jhb         2006-04-25 20:34:04 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/ddb              db_ps.c 
>   Log:
>   - Overhaul the 'ps' command in ddb to be mostly readable again. :)  It is
>     now back to using fixed-size columns for output and each line of output
>     should fit in 80 columns on both 32-bit and 64-bit architectures.  In
>     general the output is close to that of the userland ps(1) with the
>     exception that the 'wmesg' field is mostly similar to the "state" field
>     in top(1) in that it will show either a wmesg, a lock name (prefixed with
>     an *), "CPU xx" (for a running thread), or nothing if none of those three
>     conditions are true.  It also respects td_name when listing threads in
>     a multithreaded process.  There is a somewhat evilly-defined PTR64 macro
>     I use to make account for the change in the size of the 'wchan' column
>     in the formatted output (wchan is now the only pointer in the ps output
>     and is available so it can be passed to 'show sleepq', 'show turnstile',
>     or 'show lock').
>   - Add two new commands "show proc [process]" and "show thread [thread]"
>     that show details about the specified process or thread (specified
>     either by pid/tid or pointer), respectively.  If an address it not
>     specified, it uses the current kdb thread.

Here is some sample output from amd64.  i386 would be the same except
that wchan is 8 chars shorter:

db> ps
 pid   uid  ppid  pgrp  state   wmesg          wchan        cmd
  884 1001   854   884  R+      (threaded)                  threads
    100147              Run     CPU 1                       thread 1
    100146              Run     CPU 2                       thread 2
    100145              Run     CPU 0                       thread 3
    100144              Run     CPU 3                       thread 0
    100134              S       ucond    0xffffff005ca0e810 initial thread
  854 1001   853   854  Ss+     pause    0xffffff0000d97068 tcsh
  853 1001   851   851  S       select   0xffffffff80634b10 sshd
  851    0   772   851  Ss      sbwait   0xffffff00616fc7c8 sshd
  850    0     1   850  Ss+     ttyin    0xffffff0000a4a010 getty
...

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the cvs-src mailing list