4

chkconfig has five distinct functions: adding new services for management, removing services from management, listing the current startup information for services, changing the startup information for services, and checking the startup state of a particular service.

I am confused, because, when I use ps -ef I get a list of processes. Is there a difference between a process and a service from linux perspective ?

1
  • 1
    Anything that runs on a system is a process. For what chkconfig manages, a "service" is anything that starts on boot and provides critical system functioning that starts on each boot. So a "service" would be a special type of "process" or a way of referring to a group of related processes that collectively fulfill that role. Your desktop environment, for instance would be composed of many processes but none of them (outside of gdm) would really fulfill the role of a "service."
    – Bratchley
    Feb 18, 2016 at 2:57

2 Answers 2

4

A service can be several processes, e.g., httpd (web-service) or a database. Splitting a service into multiple processes is done for performance reasons.

A quick check on the machine where I'm working shows 6 apache2 processes and 8 nfsd (NFS daemon) processes. But that is only 2 services.

The processes which make up a service need not be all the same; I recall Oracle having about a dozen, all named differently (though it may be the same executable).

The distinction between service and process is, by the way, not Linux-specific.

Further reading:

1
  • 1
    How does linux groups processes that belong into the same service? Is there a way to infere from the output of the ps command which processes make up a particular service?
    – pkaramol
    May 10, 2017 at 12:06
1

I don't think that the Linux perspective is very special.

You are talking about chkconfig which a utility used on Fedora, Red Hat, CentOS and similar distributions, mostly used to configure whether a particular "service" will be launched during machine booting or not.

What they call a service is just several or one "daemon", which is a backgroud process, which job is usually to wait for events or requests, and process them when they arrive. They can be local user events, network requests, time based events...

The SSH server, web server, database server, cron job-scheduler, system logger, etc. are examples of such services. They normally run in the background until you shutdown the machine. Normal users can sometimes interact with them but cannot usually stop them if they are not the system administrator.

All services are processes (one or several). A process is not necessarily a "service", i.e. your web browser or email client.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.