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

FreeBSD Manual Pages

  
 
  

home | help
PROCENV(1)		     General Commands Manual		      PROCENV(1)

NAME
     procenv - display process environment details

SYNOPSIS
     procenv [OPTION]

DESCRIPTION
     Display details of the process environment in a parseable format.

OPTIONS
     Options  shown  with a bracketed asterisk '(*)' are non-display options and
     must precede any other (display) options.

     -a, --meta
	    Display meta details.

     -A, --arguments
	    Display program arguments.

     -b, --libs
	    Display details of linked libraries.  See dl_iterate_phdr(3).

     -B, --libc
	    Display  standard  library	details.    See   feature_test_macros(7)
	    (Linux).

     -c, --cgroups
	    Display cgroup details (Linux only).  See proc(5).

     -C, --cpu
	    Display  CPU  and  scheduler  details.   See  kvm_getprocs(3) (BSD),
	    pthread_getaffinity_np(3), sched_getcpu(3) (Linux).

     --crumb-separator=str (*)
	    Specify string str as alternate delimiter for  crumb  format  output
	    (default=':').

     -d, --compiler
	    Display    compiler   details.    See   cpp(1),   cc(1)   and   fea-
	    ture_test_macros(7) (Linux).

     -e, --environment
	    Display environment variables.  See environ(7).

     -E, --semaphores
	    Display semaphore details (not queryable on BSD).  See semctl(2).

     --exec (*)
	    Treat non-option arguments as program to execute after running  pro-
	    cenv.  See exec(3).

     -f, --fds
	    Display  file descriptor details. Under FreeBSD, file descriptor ca-
	    pabilities will also be displayed assuming the kernel  has	Capsicum
	    support.	See   cap_getmode(2)   (BSD),  cap_rights_get(2)  (BSD),
	    cap_rights_is_set(3) (BSD), fcntl(2), isatty(5).

     -F, --namespaces
	    Display namespace details (Linux only).  See proc(5).

     --file=FILE (*)
	    Send output to file FILE (implies --output=file).

     --file-append (*)
	    If --file is specified, append to it rather than overwriting it.

     --format=FORMAT (*)
	    Specify output format.  FORMAT may be one of:

	    *	crumb ("breadcrumbs").

	    *	json (JavaScript Object Notation).

	    *	text (plain ASCII text) [default].

	    *	xml (Extensible Markup Language).

     -g, --sizeof
	    Display sizes of data types.

     -h, --help
	    This help text.

     -i, --misc
	    Display miscellaneous details.  See umask(P),  getcwd(3),  personal-
	    ity(2)  (Linux),  proc(5),	prctl(2),  aa_getcon(2) (Linux), getpid-
	    con(3) (Linux), sysconf(3), kvm_getprocs(3) (BSD), getpriority(2).

     --indent (*)
	    Number of indent characters to use for each indent (default=2).

     --indent-char=c (*)
	    Use character c for indenting (default=' ' (space)).

     -j, --uname
	    Display uname details.  See uname(2).

     -k, --clocks
	    Display clock details.  See clock_getres(2).

     -l, --limits
	    Display limits.  See getrlimit(2).

     -L, --locale
	    Display locale details.  See setlocale(3) and locale(7).

     -m, --mounts
	    Display mount details.  See getmntent(3) and statfs(2) (Linux),  and
	    getmntinfo(3) (BSD).

     -M, --message-queues
	    Display  message  queue  details  (not  queryable  on BSD).  See ms-
	    gctl(2).

     -n, --confstr
	    Display confstr details.  See confstr(5).

     -N, --network
	    Display network details.  See getifaddrs(3), getnameinfo(3),  ip(7),
	    netdevice(7), and ioctl(2) (Linux).

     -o, --oom
	    Display out-of-memory manager details (Linux only).  See proc(5).

     --output=TYPE (*)
	    Send output to alternative location. TYPE can be one of:

	    *	file (send output to a file).

	    *	stderr (write to standard error).

	    *	stdout (write to standard output (default)).

	    *	syslog (write to the system log file).

	    *	terminal (write to terminal).

     -p, --process
	    Display  process  details.	See getpid(2), getppid(2), getresuid(2),
	    getresgid(2), getuid(2),  geteuid(2),  getgid(2),  getegid(2),  get-
	    sid(2),  getlogin(3),  getpgrp(2),	ctermid(3), tcgetpgrp(3), tcget-
	    sid(3), getpwuid(3) and getgroups(2).

     -P, --platform
	    Display platform details.

     -q, --time
	    Display time details.  See clock_gettime(2), localtime(3)  and  asc-
	    time(3).

     -r, --ranges
	    Display range of data types.  See limits.h(P).

     -s, --signals
	    Display signal details.  See sigaction(2).

     -S, --shared-memory
	    Display  shared  memory  details  (not  queryable on BSD).	See shm-
	    ctl(2).

     --separator=str (*)
	    Specify string str as alternate delimiter  for  text  format  output
	    (default=': ').

     -t, --tty
	    Display terminal details. On Linux, will also show if any attributes
	    are locked when running as root.  See tcgetattr(3) and  tty_ioctl(4)
	    (Linux).

     -T, --threads
	    Display    thread	 details.    See   pthread_attr_getstacksize(3),
	    pthread_attr_getstacksize(3) and pthread_attr_getguardsize(3).

     -u, --stat
	    Display stat details.  See stat(2).

     -U, --rusage
	    Display rusage details.  See getrusage(2).

     -v, --version
	    Display version details.

     -w, --capabilities
	    Display Linux capability details. For FreeBSD file descriptor  capa-
	    bilities, see --fds.  See prctl(2) (Linux), libcap(3) (Linux).

     -x, --pathconf
	    Display pathconf details.  See pathconf(3).

     -y, --sysconf
	    Display   sysconf	details.   See	sysconf(3)  and  posixoptions(7)
	    (Linux).

     -Y, --memory
	    Display memory details.  See  getpagesize(2),  numa(3)  (Linux)  and
	    numa(7) (Linux), sysinfo(3).

     -z, --timezone
	    Display timezone details.  See tzset(3).

ENVIRONMENT VARIABLES
     The  following  environment  variables may be used as aliases to their com-
     mand-line counterparts:

     PROCENV_CRUMB_SEPARATOR
	    Alternative to --crumb-separator.

     PROCENV_EXEC
	    Alternative to --exec.

     PROCENV_FILE
	    Alternative to --file.

     PROCENV_FILE_APPEND
	    Alternative to --file-append.

     PROCENV_FORMAT
	    Alternative to --format.

     PROCENV_INDENT
	    Alternative to --indent.

     PROCENV_INDENT_CHAR
	    Alternative to --indent-char.

     PROCENV_SEPARATOR
	    Alternative to --separator.

     PROCENV_OUTPUT
	    Alternative to --output.

NOTES
     *	 Options are considered in order, so --output should precede  any  other
	 option.

     *	 If no display option is specified, all details are displayed.

     *	 Only one display option may be specified.

     *	 Command-line options take priority over environment variables.

     *	 All  values for --indent-char are literal except '\t' which can be used
	 to specify a tab character. The same is true for  --separator-char  and
	 --crumb-separator but only if it is the first character specified.

     *	 Specifying  a visible indent-char is only (vaguely) meaningful for text
	 output.

     *	 If --exec is specified, at least one non-option argument must	also  be
	 specified.

     *	 Any long option name may be shortened as long as it remains unique.

     *	 The  crumb  output format is designed for easy parsing: it displays the
	 data in a flattened format with each value on a separate line	preceded
	 by  all appropriate headings which are separated by the current separa-
	 tor.

     *	 The --message-queues, --semaphores and --shared-memory options are  not
	 available  on	BSD since although the values are queryable, there is no
	 documented method to do so.

EXAMPLES
      # Show limits
      procenv -l

      # Send compiler information to syslog (note the order of the options).
      procenv --output=syslog --compiler

      # Write compiler details direct to the terminal
      procenv --output=terminal --compiler

      # Run a command ('mycmd --arg1 --foo=bar') without creating a new
      # process, but have procenv run first and log its output to a
      # regular file.
      exec procenv --file=/tmp/procenv.log --exec -- mycmd --arg1 --foo=bar

      # The following kernel command-line snippet will cause procenv to
      # run as PID 1 and write output to the first serial tty device. It will then
      # execute the init daemon (specifying some arguments to show how this is possible).
      # Note that since procenv re-executes, the init daemon will (also) be run as PID 1.
      init=/usr/bin/procenv PROCENV_FILE=/dev/ttyS0 PROCENV_EXEC="/sbin/init --foo-bar --baz"

      # Display all data in JSON format using an indent of 4 spaces
      procenv --format=json --indent=4

      # Display all data in XML format using tabs for indents
      procenv --format=xml --indent-char="\t"

      # Display signal details in XML format
      procenv --format=xml --signals

      # Display resource limits in easily-parseable format
      procenv --format=crumb --limits

      # Produce output suitable for importing into a spreadsheet
      procenv --format=crumb --crumb-separator=',' --separator=',' --limits

      # Produce stylised output
      procenv --format=crumb --crumb-separator=' -> ' --separator='='

LIMITATIONS
     *	 Spaces within the value of PROCENV_EXEC are treated as delimiters mean-
	 ing that any spaces within a string argument for example will result in
	 incorrect behaviour.

     *	 The separator character must be chosen carefully since no check is per-
	 formed on the data to see if it itself contains instances of the  sepa-
	 rator character.

AUTHORS
     Written	by    James   Hunt   <jamesodhunt@gmail.com>   and   Kees   Cook
     <kees@ubuntu.com>.

COPYRIGHT
     Copyright (C) 2012-2021 James Hunt <jamesodhunt@gmail.com>  and  Kees  Cook
     <kees@ubuntu.com>.
     This  is free software; see the source for copying conditions.  There is NO
     warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

LICENSE
     GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
     This is free software: you are free to change and redistribute  it.   There
     is NO WARRANTY, to the extent permitted by law.

SEE ALSO
     capabilities(7)   (Linux),   capsicum(4)	(BSD),	cc(1),	clock_gettime(2)
     (Linux), credentials(7), date(1), env(1), exec(P),  getconf(1),  groups(1),
     ifconfig(8),  ip(9),  ipcs(1), kill(1), ldd(1), locale(1), ls(1), mount(1),
     proc(5), ps(1), rights(4)(BSD), sh(1), stat(1), stty(1), umask(P), uname(1)

User Commands			   2016-03-10			      PROCENV(1)

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

home | help