NAME
coreadm — core file administration
SYNOPSIS
coreadm
[-g
pattern]
[-I
pattern]
[-e
option]
[-d
option]
coreadm
-P
{enable|disable}
[pid...]
coreadm
-p pattern
[pid...]
coreadm
-p pattern
-E command
[arguments]
coreadm
[pid...]
DESCRIPTION
The
coreadm
command is used for user space
application core file management by specifying the name and
the location of core files for abnormally terminating processes.
See
core(4).
The command can be used to control system wide and process
specific core file placement.
The path and pattern is used by the operating system when
generating a core file.
The first form shown in
SYNOPSIS
can be used to control system
wide core file settings or specify a pattern for
init(1M).
System administration privilege is required to change global
core file settings.
Global core file setting, including the
setting for
init(1M),
is preserved across system reboot.
Non-privileged users can change per-process core file settings
for processes owned by that user.
The real or the effective user ID of the calling process must match the real
or the saved user ID of the receiving process unless the
effective user ID of the calling process is a user who
as appropriate privileges.
A core file name pattern is a normal file system path name
with embedded variables, specified with a leading
%
character, that are expanded from values in effect when a core file is
generated by the operating system.
An expanded pattern over
MAXPATHLEN
will be truncated to
MAXPATHLEN.
The possible pattern variables are:
%p process ID
%xp Process ID in hex
%u effective user-ID
%xu effective user-ID in Hex
%g effective group-ID
%xg effective group-ID in Hex
%c thread's CPU number when the core file was created
%f executable file name, up to a maximum of MAXCOMMLEN characters
%n system node name (uname -n)
%t time-stamp (in UTC time format)
%% literal %
Options
The following options are supported for
coreadm:
- -d option...
- -e option...
Disable
(-d)
or
enable
(-e)
the specified core file option.
The
-d
and
-e
options can only be exercised with root privilege.
The
valid options for
-d
and
-e
are:
- global
Allow (or disallow) core dumps using the global core pattern.
- process
Allow (or disallow) core dumps using the per-process core pattern.
- global-setid
Allow (or disallow) core dumps using the global core pattern for
setid
processes.
- proc-setid
Allow (or disallow) core dumps using the process core pattern for
setid
processes.
- -g pattern
Set the global core file name pattern to pattern.
The pattern must start with an
absolute path name which exists and can contain any of the
special % variables described in the
DESCRIPTION
section.
This option can only be exercised by the super-user.
- -I pattern
This is identical to specifying a per-process pattern only that the setting is
applied to
init(1M)
and is preserved across reboot.
- -p pattern
Set the per-process core file name pattern to
pattern
for each of the specified process-ID's.
The
pattern
can contain any of the special variables described in
DESCRIPTION
and need not begin with
/.
If it does not begin with
/,
the core file name will be evaluated relative to the current working
directory at the time of core file creation.
This option can be used by non-privileged users to specify core file
settings for processes owned by that user.
Super-users can apply it to any process.
The per-process core file will be inherited by the future child processes
of the affected processes.
See
fork(2).
This option, when invoked without a PID will apply the settings to the
calling process (usually the invoking shell).
- -E command [arguments]
This option is used in conjunction with
-p pattern.
The
-E
option will
execute the command specified with the per-process
pattern
that was specified with
-p.
- -P {enable|disable} [pid...]
This option can be used to enable or disable core file creation for
the target process.
As an example, a user may choose to add the
coreadm -P $$
disable in the shell startup script to avoid creation of core
files by that user.
EXAMPLES
The following examples assume that the user has appropriate
privilege.
- 1.
To examine the current core file settings:
$ coreadm
global core file pattern:
init(1M) core file pattern:
global core dumps: disabled
per-process core dumps: enabled
global setid core dumps: disabled
per-process setid core dumps: disabled
- 2.
Set global core file settings to include process-ID and machine
name and place the core file in the location
/mnt/cores.
$ coreadm -e global -g /mnt/cores/core.%p.%n
A process with PID 1777 on the machine breaker will generate a core
file in
/mnt/cores
as
core.1777.breaker
(in addition to the core file generated in the CWD of PID 1777).
- 3.
Examine the per process core file settings for process-IDs 1777 and 1778
$ coreadm 1777 1778
1777: core.%p.%u
1778: /nethome/gandalf/core/core.%f.%p.%t
- 4.
A user can disable creation of core files completely by
specifying in the shell startup file (for example,
.profile).
$ coreadm -P disable $$
$ coreadm $$
1157: (Disabled)
WARNINGS
The output format of
coreadm
may change without notice.
Applications parsing the
coreadm
output, should not rely on the
compatibility of the output format between releases.