Services are long-running processes that provide utility to the system. Common services you might find on a Linux system are
sshd
for ssh accessdhcpd
to set the IP address at bootgetty
for connecting the console to a login sessionntpd
for setting the time from the network
These services are generally automated and long running. Let's itemize the actual requirements of a service.
- services can be started at boot automatically
- services should make an effort to retry on failure
- users should be able to start services at runtime
- services should survive a user logging out
The above are standard for almost every service manager today. Typically [[init]] or another service manager handles system services.
- Mac OS X uses
launchd
- Ubuntu uses
upstard
- RHEL uses
systemd
- Windows uses ?
- SmartOS uses
SMF
NodeOS uses PalmTree as it's service starter. You can read more about working with it here on the wiki (see [[Service Starter|Service Starter (PalmTree)]]) and explore it's repository too.