ps_environ | R Documentation |
ps_environ()
returns the environment variables of the process, in a
named vector, similarly to the return value of Sys.getenv()
(without arguments).
ps_environ(p = ps_handle())
ps_environ_raw(p = ps_handle())
p |
Process handle. |
Note: this usually does not reflect changes made after the process started.
ps_environ_raw()
is similar to p$environ()
but returns the
unparsed "var=value"
strings. This is faster, and sometimes good
enough.
These functions throw a zombie_process
error for zombie processes.
ps_environ()
returns a named character vector (that has a
Dlist
class, so it is printed nicely), ps_environ_raw()
returns a
character vector.
ps_environ()
usually does not work on macOS nowadays. This is because
macOS does not allow reading the environment variables of another
process. Accoding to the Darwin source code, ps_environ
will work is
one of these conditions hold:
You are running a development or debug kernel, i.e. if you are debugging the macOS kernel itself.
The target process is same as the calling process.
SIP if off.
The target process is not restricted, e.g. it is running a binary that was not signed.
The calling process has the
com.apple.private.read-environment-variables
entitlement. However
adding this entitlement to the R binary makes R crash on startup.
Otherwise ps_environ
will return an empty set of environment variables
on macOS.
Issue 121 might have more information about this.
Other process handle functions:
ps_children()
,
ps_cmdline()
,
ps_connections()
,
ps_cpu_times()
,
ps_create_time()
,
ps_cwd()
,
ps_descent()
,
ps_exe()
,
ps_handle()
,
ps_interrupt()
,
ps_is_running()
,
ps_kill()
,
ps_memory_info()
,
ps_name()
,
ps_num_fds()
,
ps_num_threads()
,
ps_open_files()
,
ps_pid()
,
ps_ppid()
,
ps_resume()
,
ps_send_signal()
,
ps_shared_libs()
,
ps_status()
,
ps_suspend()
,
ps_terminal()
,
ps_terminate()
,
ps_uids()
,
ps_username()
p <- ps_handle()
p
env <- ps_environ(p)
env[["R_HOME"]]
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.