svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
SYSINIT(9)
is a mechanism for scheduling the execution of initialization and
teardown routines. This is similar to init and fini routines
with the addition of explicit ordering metadata. It allows run‐
time ordering of subsystem initialization in the kernel as well
as kernel modules (KLDs). The macro creates a and stores it in a
startup linker set. The type as well as the subsystem identifier
constants and initialization ordering constants are defined in
struct sysinit { enum sysinit_sub_id subsystem; /* sub‐
system identifier*/ enum sysinit_elem_order order; /*
init order within subsystem*/ sysinit_cfunc_t
func; /* function */ const
void *udata; /* multiplexer/argument */ }; The macro
takes a argument to identify the particular function dispatch
data, the type of startup interface, the subsystem element of
initialization within the subsystem, the function to call, and
the data specified in argument to pass the function. The macro
behaves similarly to the macro except that it adds the data to a
shutdown linker set. The startup linker set for the kernel is
scanned during boot to build a sorted list of initialization rou‐
tines. The initialization routines are then executed in the
sorted order. The is used as the primary key and is sorted in
ascending order. The is used as the secondary key and is sorted
in ascending order. The relative order of two routines that have
the same and is undefined. The startup linker sets for modules
that are loaded together with the kernel by the boot loader are
scanned during the subsystem initialization. These modules' ini‐
tialization routines are sorted and merged into the kernel's list
of startup routines and are executed during boot along with the
kernel's initialization routines. Note that this has the effect
that any initialization routines in a kernel module that are
scheduled earlier than are not executed until after during boot.
The startup linker set for a kernel module loaded at runtime via
is scanned, sorted, and executed when the module is loaded. The
shutdown linker set for a kernel module is scanned, sorted, and
executed when a kernel module is unloaded. The teardown routines
are sorted in the reverse order of the initialization routines.
The teardown routines of the kernel and any loaded modules are
executed during shutdown. This example shows the SYSINIT which
displays the copyright notice during boot: static void
print_caddr_t(void *data) { printf("%s", (char *)data); }
SYSINIT(announce, SI_SUB_COPYRIGHT, SI_ORDER_FIRST,
print_caddr_t,
copyright); The framework first appeared in The framework was
written by This manual page was written by