Managing services
Rick Stevens
rstevens at vitalstream.com
Wed Mar 31 00:23:21 UTC 2004
Jeff Vian wrote:
>
>
> Rick Stevens wrote:
>
>> Fabrício Santos wrote:
>>
>>>
>>> 1. service command.
>>>
>>> I know a service in /etc/init.d (or /etc/rc.d/init.d/) may be started
>>> using
>>> the service command but I couldn't find any proper docs on it. No man
>>> page
>>> available. No --help switch available. Only the following is
>>> displayed when
>>> the command is run:
>>>
>>> Usage: service < option > | --status-all | [ service_name [ command
>>> | --full-restart ] ]
>>>
>>> Are there any more extensive docs to this utility?
>>
>>
>>
>> "service" is _very_ similar to chkconfig. "service" is also a pretty
>> simple shell script and is found in /sbin. Take a look at it.
>
>
> Service is a script that does exactly in functionality what the command
> line call to the init script would do. For example, "service network
> start" does the same as "/etc/init.d/network start" would do.
>
>>
>>> 2. /etc/rcX.d
>>>
>>> Inside the rcX.d directories, there are files named K99servicename and
>>> S99servicename. I supose the K stands for Kill at reboot or halt
>>> time, and S
>>> stands for Start at bootup time. Then the numbers are just a way of
>>> sorting
>>> the way the services are started or stopped. Is this correct? Where
>>> can I
>>> learn more on these matters?
>>
>>
>>
>> That is correct. When _entering_ a run level, all of the "Sxxyyyy"
>> scripts are executed in ASCII sort order. When _leaving_ a run level,
>> all of the "Kxxyyyy" scripts are run, again in ASCII sort order, then
>> the run level is changed and the "Sxxyyyy" scripts in the new rcx.d
>> directory are run. And so it goes. BTW, ASCII sort order is the
>> same as you'd get if you did "ls -l /etc/rc.d/rcx.d/S*".
>>
>> Most reasonably complete system admin manuals explain this. You might
>> want to pick up one of the Linux-specific administration manuals
>> available from O'Reilly, Sybex, Prentiss-Hall or other publishers.
>
>
>
> Not quite true.
> The Kxxxxxx scripts are run when entering the run level as are the
> Sxxxxx scripts.
You're correct. I had been working on a modified Solaris box and let
it taint my answer.
> The differenc is the Kxxxxx scripts make sure the service named is NOT
> running and the Sxxxxxx scripts make sure those services are started.
> Leaving a run level does nothing from that rcX.d directory, but rather
> uses the ones in the new runlevel entry to control what happens.
Correct. Solaris runs through the scripts differently.
>>> 3. ln -s /etc/init.d/httpd S35httpd
>>>
>>> Is there any FC1 text based utility that may create these links
>>> automatically instead of forcing the way manually like I did?
>>
>>
>>
>> "chkconfig", "ntsysv", "redhat-config-services" would all do it. One
>> of the lines in the /etc/rc.d/init.d version of the script controls
>> which link would be created. Again, you want it to be "S85httpd", not
>> "S35httpd", and the line that would control how one of the above
>> utilities created the link is:
>>
>> # chkconfig : - 85 15
>>
>> The "-" means it's not to be started by default in any run level. The
>> "85" means that the "Sxx" link should be "S85httpd", and the "15" means
>> the "Kxx" link should be "K15httpd" (start late, terminate early).
>>
>>> Thanks for your help!
>>
>>
> man chksonfig to see how to use it and control the services. You can
> even add new services in /etc/init.d and use chkconfig to set them up.
----------------------------------------------------------------------
- Rick Stevens, Senior Systems Engineer rstevens at vitalstream.com -
- VitalStream, Inc. http://www.vitalstream.com -
- -
- A day for firm decisions!!! Well, then again, maybe not! -
----------------------------------------------------------------------
More information about the users
mailing list