PGCORE(3PROC) Process Control Library Functions PGCORE(3PROC)
NAME
Pfgcore,
Pgcore - produce a core file of a process
LIBRARY
Process Control Library (libproc, -lproc)
SYNOPSIS
#include <libproc.h> int Pfgcore(
struct ps_prochandle *P,
int fd,
core_content_t content);
int Pgcore(
struct ps_prochandle *P,
const char *fname,
core_content_t content);
DESCRIPTION
The
Pgcore() and
Pfgcore() functions produce core files of the handle
referred to by
P. Core files represent a snapshot of a process and may
be manipulated by a wide variety of tools and libraries including
libproc(3LIB),
mdb(1),
pargs(1),
pstack(1), and more. For details on
the core file format, see
core(5).
Pfgcore() writes the core to the file represented by the open
descriptor
fd. The file descriptor should be open for both read and
write.
Pgcore() writes the core to the file path
fname.
The content of the core is controlled by the
content argument. It's
the inclusive-bitwise-OR of the various content types listed under the
core_content_t heading in the
TYPES section in
libproc(3LIB). Using
CC_CONTENT_INVALID is illegal and will result in an error.
Neither the
Pgcore() or
Pfgcore() functions stop the handle
P. It is
up to the caller to stop the process; which is recommended for
obtaining a consistent view of the process. See the
Pstop(3PROC) function for a means to stop a handle.
RETURN VALUES
Upon successful completion, the
Pfcore() and
Pgcore() functions return
0 and write out a core file to specified location. Otherwise,
-1 is
returned. The
Pfgcore() function will truncate
fd and the
Pgcore()
function will remove
fname.
INTERFACE STABILITY
UncommittedMT-LEVEL See
LOCKING in
libproc(3LIB).
SEE ALSO
libproc(3LIB),
Pstop(3PROC),
core(5),
proc(5),
coreadm(8)illumos November 27, 2023 illumos