ps(1)

MILESTONE-QUALIFIED Rendered from the page's mdoc source at milestone/general-usability-qemu-20260927 (platform ff025b1) with GNU groff version 1.23.0, using the same command the image build uses; an ABSD session running man 1 ps prints this text. It is dated 2026-09-27; the build commands and repository files it mentions are in private sources, and later work is not in it. All pages.

PS(1)                       General Commands Manual                      PS(1)

NAME
       ps -- list this session's processes

SYNOPSIS
       ps

DESCRIPTION
       ps is a builtin of absd-sh(1), not a program: there is no /bin/ps.  The
       shell asks the SSH server on the session's control channel, and the
       server answers for the session that channel belongs to.  There is no
       way to name another session, and no list of every process in the system
       exists.

       The answer has three parts:

       1.   The session: its number (the SSH server's connection number),
            whether it has a terminal, and how long ago it connected.

       2.   The processes the server can name: those it holds a process handle
            to.  That is the session's shell alone.  The shell runs its
            commands in the foreground only, so while it runs ps it has none
            running, and no command's process appears.

       3.   What the server can only count: `other holders: input N, file
            server channels M'.  N is how many more read ends of the session's
            input pipe exist than the shell's own, and M how many more write
            ends of the session's file server channels than the server's and
            the shell's.  Nonzero counts are processes that belong to this
            session in effect but that no process of it can name or end: the
            children of a command that was interrupted with ^C, which init
            adopted.  They keep the session's input and filesystem channel
            until they end.

       ps may start a pipeline (`ps | wc -l') and may be redirected.

EXIT STATUS
       0 when the server answered.  1 when the shell has no session control
       channel (it was not started by the SSH server for a session, for
       instance a shell started by another shell) or the server did not
       answer.  2 when ps is given arguments.

EXAMPLES
             absd$ ps
             session 3 (this session), terminal, connected 41 s
               PID PROGRAM
                23 /bin/absd-sh
             other holders: input 0, file server channels 0

SEE ALSO
       absd-sh(1), process(7)

CAVEATS
       The counts are of handles, not processes: one leftover process that
       holds both the input and a channel adds one to each.  They are a
       snapshot; a leftover process may end at any moment.

ABSD                          September 27, 2026                         PS(1)

All manual pages