DragonFly On-Line Manual Pages
chpst(8) DragonFly System Manager's Manual chpst(8)
NAME
chpst - runs a program with a changed process state
SYNOPSIS
chpst [-vP012] [-u user] [-U user] [-b argv0] [-e dir] [-/ root] [-n
inc] [-l|-L lock] [-m bytes] [-d bytes] [-o n] [-p n] [-f bytes] [-c
bytes] 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 respectivly, 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 respectivly, 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.
-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.
-v verbose. Print verbose messages to standard error. This
includes warnings about limits unsupported by the system.
-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)