进程失败时,系统尝试为每个失败的进程创建至多两个核心文件,使用全局核心文件名称模式和每进程核心文件名称模式来创建每个核心文件名。coreadm 命令控制这些名称模式并指定核心文件的位置。本节介绍了一些文件路径和文件名参数。有关核心转储进程的完整说明,请参见 core (4) 手册页。有关 coreadm 选项的完整说明,请参见 coreadm (1M) 手册页。
当进程异常终止时,缺省情况下会在当前目录中生成一个核心文件。如果启用了全局核心文件,则每个异常终止的进程可能会生成两个文件,一个在当前工作目录中,另一个在全局核心文件位置。使用的文件路径是可配置参数。
可以按如下所示独立启用或禁用两个可配置 core 文件路径:
每进程核心文件路径,缺省为 core,缺省情况下处于启用状态。如果启用,则每进程核心文件路径会导致在进程异常终止时生成 core 文件。每进程路径由新进程从其父进程处继承。
生成每进程核心文件时,该文件由具有所有者读/写权限的进程所有者所有。只有所有者用户可以查看此文件。
全局核心文件路径,缺省为 core,缺省情况下处于禁用状态。如果启用,则会使用全局核心文件路径生成内容与每进程核心文件相同的附加核心文件。
全局核心文件在生成时归 root 用户所有,只有 root 用户具有读/写权限。非特权用户不能查看此文件。
核心文件的名称包含具有关于失败进程的信息的字段。有关核心文件名字段的完整说明,请参见 coreadm (1M) 手册页。本节重点介绍全局变量。
如果启用了全局 core 文件目录,则可以使用下表中介绍的变量来区分各个 core 文件。
可执行文件目录名,最多包含 MAXPATHLEN 个字符
可执行文件名,最多包含 MAXCOMLEN 个字符
有效组 ID
计算机名 (uname -m)
系统节点名 (uname -n)
进程 ID
时间的十进制值 (2)
有效用户 ID
在其中执行进程的区域的名称 (zonename)
字面值 %
例如,假定 /var/core/core.%f.%p 设置为全局核心文件路径。如果 PID 为 12345 的 sendmail 进程异常终止,它将生成 /var/core/core.sendmail.12345 作为 core 文件。
通过从核心转储中排除进程的二进制映像的某些部分,可以改进在系统上转储的核心文件的性能。输入 coreadm 命令定制核心转储规范时,应该指定从核心转储排除的 DISM 映射、ISM 映射或 System V 共享内存等。有关说明,请参见 coreadm (1M) 手册页。