Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
chpst(8)		    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 fol-
	      lowed 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 ex-
	      ists, 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 ob-
	      tained.

       -L lock
	      The same as -l, but fail immediately if lock is  locked  by  an-
	      other 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 in-
	      cludes 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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=chpst&sektion=8&manpath=FreeBSD+Ports+14.3.quarterly>

home | help