unifiedps

A unified, cross-platform process status

Fork me on GitHub
  unifiedps 1.3.1                                                   2010-02-14

  NAME
       unifiedps -- a unified, cross-platform process status

  SYNOPSIS
       unifiedps [-<user-defined-option> [<argument1> [<argument2> ...]]]
                 [--display-format <format>]
                 [--display-indent <field>]
                 [--no-display-indent <field>]
                 [--display-header]
                 [--no-display-header]
                 [--display-width <width>]
                 [--mark <field> <operator> <value> [or ...]]
                 [--no-mark <field>]
                 [--restrict <field> <operator> <value> [or ...]]
                 [--no-restrict <field>]
                 [--include <relation>]
                 [--no-include <relation>]
                 [--platform <platform>]
                 [--stdin]
                 [--version]

  DESCRIPTION
       Unifiedps displays information about running processes by wrapping and
       decorating the platform's native ps command in a unified way across
       different platforms, e.g. Mac OS X/Darwin, Linux, AIX, and HP-UX.

       As unifiedps supports multiple platforms, it displays only a selection
       of information about the processes which is available on all supported
       platforms. Currently, for each process, the process' id, the parent
       process' id, the user's name, the name of the controlling terminal, the
       process' cpu time, and the associated command and arguments will be
       shown.

       Unifiedps has a set of built-in options which do not correspond to the
       options of any platform's native ps command. All these built-in options
       start with two dashes. Additionally, unifiedps provides a small macro
       processor for defining user-defined options which may reflect options
       of a native ps command. User-defined options start with a single dash.

       Built-in options:

       --display-format <format>
            Selects the format to use for displaying the processes.

            Possible formats are list and tree. list selects a simple list
            format, while tree selects a format which displays a process'
            child processes in a tree-structured, hierarchical way.

            By default, the tree format is used.

       --display-indent <field>
            Indents the information of the given <field> according to the
            process' hierarchy. A <field>'s indentation-width is increased by
            one whitespace for each specified --display-indent option.

            Available <field>s are command and pid.

            This option is considerd by the tree display format only.

       --no-display-indent <field>
            Removes the indentation for the specified <field>. The <field>
            value all removes indentations for all fields.

       --display-header
       --no-display-header
            Does/Doesn't display a header line.

       --display-width <width>
            Specifies the number of columns to use for formatting the output.

            If -1 is specified as the <width>, unifiedps will use as many
            columns as necessary to display the processes' information.

            By default, the current window's width is used for formatting the
            output. The environment variable <COLUMNS> is used to determine
            the window's width. If this variable is not defined, 80 columns
            will be used.

       --mark <field> <operator> <value> [or <operator> <value> [or ...]]
            Marks all displayed processes which match the given criteria. If
            the --mark option is specified more than once then the criteria
            from all --mark options will be and'ed.

            Available <field>s are command, pid, tty, and user.

            Valid <operator>s are equals, contains, starts, ends and their
            negating counterparts nequals, ncontains, nstarts, and nends.
            Operators can be abbreviated with at least the first two
            characters, e.g. eq or co, and at least the first three characters
            for negating operators, e.g. neq or nco.

            The special <operator>s is and nis map to contains and ncontains
            for the command <field> and to equals and nequals for all other
            <field>s.

            For the tty <field>, no-tty is a special <value> for specifying
            that a controlling terminal does not exist.

            By default, the displayed processes of the current user are
            marked. This corresponds to specifying --mark user eq $USER on the
            command line.

       --no-mark <field>
            Removes all previously specified mark criteria for the given
            <field>. The <field> value all can be used to remove the mark
            criteria for all fields.

       --restrict <field> <operator> <value> [or <operator> <value> [or ...]]
            Restricts the displayed processes by the specified restriction
            criteria.

            The format of the option's arguments is equal to those of the
            --mark option.

            By default, only processes which belong to the current user and
            which are connected to a controlling terminal are displayed.

       --no-restrict <criterion>
            Removes all previously specified restriction criteria.

            The format of the option's arguments is equal to those of the
            --no-mark option.

       --include <relation>
            Includes all processes for display which are in the given
            <relation> to the selected processes.

            Possible <relation>s are parents and children.

            Includes are processed after restrictions, but includes qualify
            for marking.

       --no-include <relation>
            Removes all previously specified includes for the given type of
            <relation>. Use the special <relation> all to remove all includes.

       --platform <platform>
            Skips the auto-detection of the current platform and uses the
            supplied <platform> instead.

            Supported <platform>s are aix, darwin, freebsd, hpux, i5ospase,
            linux, macosx, and solaris.

       --stdin
            Reads the process list from STDIN instead of calling the
            platform's native ps command.

       --version
            Prints unifiedps' version information and exits.

       User-defined options:

       -<user-defined-option> [<argument1> [<argument2> ...]]
            Expands the user-defined option as defined in the user-specific
            configuration file ~/.unifiedpsrc.

            A definition of a user-defined option has the following format
            which must be specified within a single line:

            -<name> [<argument-names>] := <definition>

            where <name> is the name of the user-defined option,
            <argument-names> is an optional, whitespace-separated list of the
            option's argument names, and <definition> is the definition to
            which the option will be expanded by the macro processor. In the
            <definition>, an argument name 'a' can be referenced via '${a}'.
            During macro expansion, all argument names will be replaced by the
            concrete arguments which were specified at the command line.

            A user-defined option '-u <user>' which restricts the displayed
            processes to those which belong to the specified user can be
            defined as follows:

            -u user := --no-restrict user --restrict user eq ${user}

            A line which starts with a '#' is considered as a comment. All
            contigous comments in front of a user-defined option's definition
            are considered as the option's documentation.

       User-defined options configured in the packaged .unifiedpsrc file:

       -a
       --no-restrict user
            Displays information about the processes of all users.

       -aa
       --no-restrict user --include parents --include children
            Displays information about the processes of all users. Includes
            all parent and child processes.

       -A
       --no-restrict user --no-restrict tty
            Displays information about the processes of all users, even those
            which are not connected to a controlling terminal.

       -AA
       --no-restrict user --no-restrict tty --include parents --include
       children
            Displays information about the processes of all users, even those
            which are not connected to a controlling terminal. Includes all
            parent and child processes

       -AAx
       --no-restrict user --no-restrict tty --include parents --include
       children --restrict user neq root --restrict user neq nobody --restrict
       user neq daemon --restrict user nst _
            Displays information about the processes of all users, even those
            which are not connected to a controlling terminal, but not those
            which belong to root, nobody, daemon, and those users starting
            with a '_'. Includes all parent and child processes

       -ax
       --no-restrict user --restrict user neq root --restrict user neq nobody
       --restrict user neq daemon --restrict user nst _
            Displays information about the processes of all users, but not
            those which belong to root, nobody, daemon, and those users
            starting with a '_'.

       -aax
       --no-restrict user --include parents --include children --restrict user
       neq root --restrict user neq nobody --restrict user neq daemon
       --restrict user nst _
            Displays information about the processes of all users, but not
            those which belong to root, nobody, daemon, and those users
            starting with a '_'. Includes all parent and child processes.

       -c <command>
       --no-restrict command --restrict command nstarts unifiedps --restrict
       command is <command>
            Displays information about the processes which contain the
            specified keyword in their command line. Excludes unifiedps from
            the set of displayed processes.

       -u <user>
       --no-restrict user --restrict user equals <user>
            Displays only information about those processes which belong to
            the specified user.

       -t
       --display-format tree --no-display-indent all --display-indent pid
       --display-indent command --display-indent command
            Uses the tree-structured display format and indents the pid and
            the command field

       -f
       --display-format tree --no-display-indent all --display-indent command
       --display-indent command
            Uses the tree-structured display format and indents only the
            command field

       -l
       --display-format list
            Uses the list-like display format.

       -w
       --display-width 132
            Uses 132 columns to display information, instead of the default
            display width.

       -ww
       --display-width -1
            Uses as many columns as necessary for displaying the processes'
            information.

       -x
       --no-restrict tty
            Also displays information about processes which are not connected
            to a controlling terminal.

       -p
       --no-display-header
            Displays only the processes and no header line

       -s
       --restrict command nstarts unifiedps
            Excludes unifiedps from the set of displayed processes

       -h
       --help
            Displays the help text.

       -v
       --version
            Shows the version information and exits.

  SUPPORTED PLATFORMS
       AIX
       Darwin
       FreeBSD
       HP-UX
       i5/OS PASE
       Linux
       Mac OS X
       Solaris

  RELEASES AND BUGS
       The latest release of unifiedps is always available from its web site
       at <http://0xc0.de/unifiedps>.

       Please report bugs and feature requests to <unifiedps-bugs@0xc0.de>

  AUTHOR
       Arne Harren <ah@0xc0.de>.

  COPYRIGHT AND LICENSE
       Copyright 2005-2010 by Arne Harren <ah@0xc0.de>.

       Permission is hereby granted, free of charge, to any person obtaining a
       copy of this software and associated documentation files (the
       Software), to deal in the Software without restriction, including
       without limitation the rights to use, copy, modify, merge, publish,
       distribute, sublicense, and/or sell copies of the Software, and to
       permit persons to whom the Software is furnished to do so, subject to
       the following conditions:

       The above copyright notice and this permission notice shall be included
       in all copies or substantial portions of the Software.

       THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS
       OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
       MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
       IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
       CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
       TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
       SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

  unifiedps 1.3.1                                                   2010-02-14