chkconfig - updates and queries runlevel information for system ser-
chkconfig --list [name]
chkconfig --add name
chkconfig --del name
chkconfig [--level levels] name <on|off|reset>
chkconfig [--level levels] name
chkconfig provides a simple command-line tool for maintaining the
/etc/rc[0-6].d directory hierarchy by relieving system administrators
of the task of directly manipulating the numerous symbolic links in
This implementation of chkconfig was inspired by the chkconfig command
present in the IRIX operating system. Rather than maintaining configu-
ration information outside of the /etc/rc[0-6].d hierarchy, however,
this version directly manages the symlinks in /etc/rc[0-6].d. This
leaves all of the configuration information regarding what services
init starts in a single location.
chkconfig has five distinct functions: adding new services for manage-
ment, removing services from management, listing the current startup
information for services, changing the startup information for ser-
vices, and checking the startup state of a particular service.
When chkconfig is run without any options, it displays usage informa-
tion. If only a service name is given, it checks to see if the service
is configured to be started in the current runlevel. If it is, chkcon-
fig returns true; otherwise it returns false. The --level option may be
used to have chkconfig query an alternative runlevel rather than the
If one of on, off, or reset is specified after the service name, chk-
config changes the startup information for the specified service. The
on and off flags cause the service to be started or stopped, respec-
tively, in the runlevels being changed. The reset flag resets the
startup information for the service to whatever is specified in the
init script in question.
By default, the on and off options affect only runlevels 2, 3, 4, and
5, while reset affects all of the runlevels. The --level option may be
used to specify which runlevels are affected.
Note that for every service, each runlevel has either a start script or
a stop script. When switching runlevels, init will not re-start an
already-started service, and will not re-stop a service that is not
This option adds a new service for management by chkconfig.
When a new service is added, chkconfig ensures that the service
has either a start or a kill entry in every runlevel. If any
runlevel is missing such an entry, chkconfig creates the appro-
priate entry as specified by the default values in the init
script. Note that default entries in LSB-delimited 'INIT INFO'
sections take precedence over the default runlevels in the
The service is removed from chkconfig management, and any sym-
bolic links in /etc/rc[0-6].d which pertain to it are removed.
This option lists all of the services which chkconfig knows
about, and whether they are stopped or started in each runlevel.
If name is specified, information in only display about service
Each service which should be manageable by chkconfig needs two or more
commented lines added to its init.d script. The first line tells chk-
config what runlevels the service should be started in by default, as
well as the start and stop priority levels. If the service should not,
by default, be started in any runlevels, a - should be used in place of
the runlevels list. The second line contains a description for the
service, and may be extended across multiple lines with backslash con-
For example, random.init has these three lines:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
# higher quality random number generation.
This says that the random script should be started in levels 2, 3, 4,
and 5, that its start priority should be 20, and that its stop priority
should be 80. You should be able to figure out what the description
says; the \ causes the line to be continued. The extra space in front
of the line is ignored.
init(8) ntsysv(8) serviceconf(8)
Erik Troan <email@example.com>
4th Berkeley Distribution Wed Oct 8 1997 chkconfig(8)