Provided by: runit_2.2.0-2ubuntu1_amd64 bug

NAME

       chpst - runs a program with a changed process state

SYNOPSIS

       chpst  [-vVP012]  [-u  user]  [-U  user] [-b argv0] [-e dir] [-/ root] [-C pwd] [-n inc] [-l|-L lock] [-m
       bytes] [-d bytes] [-o n] [-p n] [-f bytes] [-c bytes] [-t seconds] prog

DESCRIPTION

       prog consists of one or more arguments.

       chpst changes the process state according to the given options, and runs prog.

OPTIONS

       -u [:]user[:group]
              setuidgid.  Set uid and gid to the user's uid and gid,  as  found  in  /etc/passwd.   If  user  is
              followed  by  a  colon and a group, set the gid to group's gid, as found in /etc/group, instead of
              user's gid.  If group consists of a colon-separated list of group names, chpst sets the group  ids
              of  all  listed  groups.   If  user is prefixed with a colon, the user and all group arguments are
              interpreted as uid and gids respectively, and not looked up in the password or  group  file.   All
              initial supplementary groups are removed.

       -U [:]user[:group]
              envuidgid.   Set  the  environment  variables $UID and $GID to the user's uid and gid, as found in
              /etc/passwd.  If user is followed by a colon and a group, set $GID to the group's gid, as found in
              /etc/group, instead of user's gid.  If user is prefixed with a colon, the user and group arguments
              are interpreted as uid and gid respectively, and not looked up in the password or group file.

       -b argv0
              argv0.  Run prog with argv0 as the 0th argument.

       -e dir envdir.  Set various environment variables as specified by files in  the  directory  dir:  If  dir
              contains  a  file  named  k  whose first line is v, chpst removes the environment variable k if it
              exists, and then adds the environment variable k with the value v.  The name k must not contain =.
              Spaces and tabs at the end of v are removed, and nulls in v are changed to newlines.  If the  file
              k is empty (0 bytes long), chpst removes the environment variable k if it exists, without adding a
              new variable.

       -/ root
              chroot.  Change the root directory to root before starting prog.

       -C pwd chdir.   Change  the  working  directory  to pwd before starting prog.  When combined with -/, the
              working directory is changed after the chroot.

       -n inc nice.  Add inc to the nice(2) value before starting prog.  inc must be an integer, and  may  start
              with a minus or plus.

       -l lock
              lock.   Open  the file lock for writing, and obtain an exclusive lock on it.  lock will be created
              if it does not exist.  If lock is locked by  another  process,  wait  until  a  new  lock  can  be
              obtained.

       -L lock
              The same as -l, but fail immediately if lock is locked by another process.

       -m bytes
              limit  memory.   Limit  the  data  segment, stack segment, locked physical pages, and total of all
              segment per process to bytes bytes each.

       -d bytes
              limit data segment.  Limit the data segment per process to bytes bytes.

       -o n   limit open files.  Limit the number of open file descriptors per process to n.

       -p n   limit processes.  Limit the number of processes per uid to n.

       -f bytes
              limit output size.  Limit the output file size to bytes bytes.

       -c bytes
              limit core size.  Limit the core file size to bytes bytes.

       -t seconds
              limit CPU time.  Limit CPU time to seconds seconds, delivering a SIGXCPU thereafter.

       -v     verbose.  Print  verbose  messages  to  standard  error.   This  includes  warnings  about  limits
              unsupported by the system.

       -V     version string.  Print a version string to standard error.

       -P     pgrphack.  Run prog in a new process group.

       -0     Close standard input before starting prog.

       -1     Close standard output before starting prog.

       -2     Close standard error before starting prog.

EXIT CODES

       chpst  exits  100  when  called  with  wrong options.  It prints an error message and exits 111 if it has
       trouble changing the process state.  Otherwise its exit code is the same as that of prog.

EMULATION

       If chpst is called as envdir, envuidgid, pgrphack, setlock, setuidgid,  or  softlimit,  it  emulates  the
       functionality of these programs from the daemontools package respectively.

SEE ALSO

       sv(8), runsv(8), setsid(2), runit(8), runit-init(8), runsvdir(8), runsvchdir(8)

        http://smarden.org/runit/
        http://cr.yp.to/daemontools.html

AUTHOR

       Gerrit Pape <pape@smarden.org>

                                                                                                        chpst(8)