How To List Services In Linux

How To List Services In Linux

Reading time1 min
#Linux#SysAdmin#OpenSource#systemd#services#LinuxCommands

Sure! However, I noticed you left the title, rationale, and suggested hook fields empty. To provide you with the best possible content tailored to your needs, could you please share those details? For example:

  • Title (e.g., "How to List Services in Linux: A Practical Guide")
  • Rationale (e.g., Explaining why knowing how to list services is important for system administration)
  • Suggested Hook (e.g., Starting with a scenario where a system admin needs to troubleshoot system services)

Meanwhile, I’ll assume a general approach based on the topic and write a practical how-to blog post on listing services in Linux.


How to List Services in Linux: A Practical How-To Guide

Rationale:
Managing services on a Linux system is a crucial task for sysadmins and power users. Whether you’re troubleshooting a malfunctioning service or simply auditing which services are enabled on your server, knowing how to effectively list and manage services is fundamental.

Hook:
Imagine you’ve just deployed a new web server, but your website isn’t accessible. The first step is to check if the web service (like Apache or Nginx) is actually running and enabled to start at boot. Knowing how to quickly list and inspect services can save hours of frustration.


What Are Services in Linux?

Services (also called daemons) are background processes that run continuously or start on-demand to provide core functionality—think web servers, database engines, cron jobs, SSH access, and more.

Understanding which services are active and their statuses helps maintain system health and security.


How to List Services in Linux

Linux distributions use different init systems by default. The two most common are:

  • systemd (used by most modern distros like Ubuntu 16.04+, CentOS 7+, Debian 8+)
  • SysVinit or Upstart (older systems)

1. Listing Services with systemd (systemctl)

For modern Linux distros using systemd, systemctl is your go-to command.

List All Installed Services

systemctl list-unit-files --type=service

This will display all installed service unit files along with their enabled/disabled status.

Example output snippet:

apache2.service                          enabled
cron.service                            enabled
ssh.service                             enabled
bluetooth.service                       disabled

List Active (Running) Services

To see only currently running services:

systemctl list-units --type=service --state=running

Example output:

UNIT               LOAD   ACTIVE SUB     DESCRIPTION
cron.service       loaded active running Regular background program processing daemon
ssh.service        loaded active running OpenSSH Daemon

Check Status of a Specific Service

Want to know about one particular service? Use

systemctl status apache2.service

This gives detailed info about the service's state, logs, and any errors.


2. Listing Services in SysVinit Systems

If your Linux distro uses SysVinit or older init systems:

List All Available Services

service --status-all

This outputs a list like:

[ + ]  ssh
[ - ]  apache2
[ ? ]  bluetooth

+ means running; - means stopped; ? unknown.

Check Status of Specific Service

service apache2 status

3. Using chkconfig on Some Distributions

In some Red Hat-based distros,

chkconfig --list

shows which services are configured at different runlevels.


Bonus: Using ps or top for Active Processes

Although not listing "services" per se,

ps aux | grep service-name

helps check if the daemon process is alive.

For example:

ps aux | grep nginx

Will output lines indicating whether nginx worker processes are running.


Summary Cheat Sheet for Common Commands

PurposeCommand
List all installed servicessystemctl list-unit-files --type=service
List all active/runningsystemctl list-units --type=service --state=running
Check single service statussystemctl status <service> / service <name> status
List SysVinit service statusesservice --status-all
List runlevel configurationchkconfig --list

Wrapping Up

Listing services on Linux is straightforward once you know the commands tailored for your distribution’s init system. Mastering these helps you quickly diagnose problems or audit that your critical services are running as intended.

Try these commands out on your machine today—it’s an essential skill that will make managing Linux systems less of a mystery!


If you'd like me to tailor this content further once you provide the title and rationale, just let me know!