access user process state
struct kinfo_proc *
struct kinfo_proc *p
struct kinfo_proc *p
() returns a (sub-)set of active
processes in the kernel indicated by kd
arguments constitute a predicate which limits the set of processes returned.
The value of op
describes the filtering
predicate as follows:
Only the first elemsize
bytes of each array
entry are returned. If the size of the
structure increases in size in a
future release of OpenBSD
, the library will only
return the requested amount of data for each array entry and programs that use
() will continue to function
without the need for recompilation. The number of processes found is returned
in the reference parameter cnt
. The processes
are returned as a contiguous array of
structures, the definition for
which is available in
This memory is locally allocated, and subsequent calls to
() will overwrite this storage.
() sets the thread ID field
accordingly for each thread except for the process (main thread) which has it
set to -1.
() returns a null-terminated
argument vector that corresponds to the command line arguments passed to
process indicated by p
. Most likely, these
arguments correspond to the values passed to
on process creation. This
information is, however, deliberately under control of the process itself.
Note that the original command name can be found, unaltered, in the
field of the process structure
argument indicates the maximum number
of characters, including null bytes, to use in building the strings. If this
amount is exceeded, the string causing the overflow is truncated and the
partial result is returned. This is handy for programs like
that print only a one line
summary of a command and should not copy out large amounts of text only to
ignore it. If nchr
is zero, no limit is
imposed and all argument strings are returned in their entirety.
The memory allocated to the
pointers and string
storage is owned by the kvm(3)
clobber this storage.
() function is similar to
() but returns the vector of
environment strings. This data is also alterable by the process.
() all return
These routines do not belong in the