Powerful open-source software called Linux was initially introduced in 1991. It is based on the Unix operating system and has been deployed on various gadgets, including supercomputers and cellphones. In this comprehensive guide, we will walk you through the step-by-step process on how to list running services in Linux and methods to list running services Linux Ubuntu. The dependability, adaptability, and security aspects of Linux are well known. A Linux service is a server's response to a request that carries out a certain operation โ€” a program or application that typically runs in the background. Technically speaking, a service is a process or collection of processes (often referred to as daemons) that are continuously operating in the background and waiting for requests to arrive.

Hero banner with Linux service title and stylised terminal showing running systemctl services.

โšก Quick Answer: Command to List Running Services in Linux

If you just want the command, here it is. On any modern distro โ€” Ubuntu, Debian, CentOS 7+, RHEL, AlmaLinux, Rocky Linux โ€” the service manager is systemd, so this is what you run:

For systemd-based systems

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

That prints only the services with a process actually running right now. No timers, no mounts, no sockets โ€” just services.

For older SysVinit systems

service --status-all

Use this on legacy boxes (Debian 7, CentOS 6, some stripped-down images) where systemctl doesn't exist.

The first step in listing the active services on a Linux system is to identify the system manager. Since the commands used to list running processes Linux are based on the system manager, this step is very crucial. Once you've identified the system manager, you may also want to explore how to list users on your Ubuntu Linux VPS โ€” check out our guide on listing users in Ubuntu Linux VPS.

linux-service-detection-flowchart

๐Ÿ› ๏ธ Listing Services in the systemd Service Manager

Let's look at each method available to list services when systemd is the system manager. If you are wondering how to list running services in Linux Centos 7 and how to list running services in Ubuntu, the commands below are what you need.

How to List All Loaded Service Units

systemctl list-units --type=service

This shows every service unit systemd has loaded into memory โ€” running, exited, failed, the lot. It's the widest view you'll get without touching disk-level unit files. For managing user accounts alongside these services, see how to list users in Linux.

What the Output Columns Mean

Column What it tells you Example
UNIT The service unit name nginx.service
LOAD Whether systemd parsed the unit file correctly loaded, not-found
ACTIVE High-level state active, inactive, failed
SUB Low-level, type-specific detail running, exited, dead
DESCRIPTION Human-readable label from the unit file A high performance web server

How to List All Running Services in Linux

How to List Only Active Services

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

To identify only the active services, we use the --state option with the value active. To further optimize performance monitoring, check out how to test disk speed in Linux.

How to List Only Running Services

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

An active value for the ACTIVE state and a running value for the SUB state are both present in a running service. The difference between active and running trips people up constantly โ€” more on that below.

Annotated dark terminal illustration showing running Linux services and labeled systemctl columns.
Command Description Notes
systemctl list-units --type=service Lists all services For systemd-based systems
systemctl list-units --type=service --state=active Lists active services only Filters to active
systemctl list-units --type=service --state=running Lists running services only Filters to running
systemctl list-units --type=service --state=exited Lists exited (one-shot) services Completed services
systemctl list-units --type=service --state=failed Lists failed services Identifies failures
service --status-all Lists all services with status For SysVinit

๐Ÿ“Š Active vs Running vs Enabled vs Failed: What These States Mean

State Meaning
active The unit is up as far as systemd is concerned
running There's a live process behind it right now
enabled It starts automatically at boot (says nothing about right now)
failed It tried to start or crashed and systemd gave up
exited A one-shot job ran, finished, and left nothing resident

The one that bites people: enabled โ‰  running. A service can be enabled but dead, or active but not set to boot.

๐Ÿ” How to Check the Status of a Specific Service

systemctl status nginx

This is the one you'll type a hundred times a week. You get the load state, the active state, the main PID, the cgroup tree, and the last ten log lines.

Stylised dark terminal illustration showing systemctl status nginx with Active: active (running) circled.
systemctl is-active nginx
systemctl is-enabled nginx

is-active returns a single word: active, inactive, or failed. is-enabled answers one question only: will this come back after a reboot? If you're building a new Linux VPS server, run this against sshd, your web server, and your database before you ever reboot.

๐Ÿ“‹ How to List Enabled, Failed, and Exited Services

systemctl list-unit-files --type=service --state=enabled
systemctl list-units --type=service --state=failed
systemctl list-units --type=service --state=exited

Note the first one uses list-unit-files, not list-units. Enabled/disabled is a property of the file on disk, not of a loaded unit.

๐Ÿ“œ How to View Service Logs in Linux

journalctl -u nginx
journalctl -u nginx -n 50
journalctl -u nginx -f
journalctl -u nginx --since "1 hour ago"
journalctl -xe

The -f flag follows in real time โ€” leave it open in one terminal, reproduce the bug in another. Two more worth knowing: systemctl cat nginx dumps the unit file, and systemctl show nginx prints every resolved property.

๐Ÿงฏ How to Troubleshoot a Failed Linux Service

Dark flowchart infographic showing four Linux service troubleshooting steps with reset-failed side branch
  1. Check the status: systemctl status mysql
  2. Read the logs: journalctl -u mysql -n 50 --no-pager
  3. Fix, then restart: systemctl restart mysql or reload
  4. Verify: systemctl is-active mysql
  5. Clear the failed flag: systemctl reset-failed mysql

If a rogue process is holding a port, you may need to kill a process in Linux before the service will come back. Pair that with Linux monitoring tools for recurring issues.

๐Ÿ’พ How to List Services on SysVinit Systems

How to List Running Services in Linux in the SysV service manager

service --status-all

The symbols: [ + ] means running, [ - ] means stopped, [ ? ] means the script can't report its state. Use the following to list only running services:

service --status-all | grep running

Level up your online security and reliability with our top-notch VPS! Harness the strength of dedicated resources while keeping your data safe and your website running smoothly.

๐Ÿ”Œ How to Check Which Port a Service Is Using

ss -tulpn
lsof -i -P -n | grep LISTEN
netstat -tulpn

ss -tulpn is the modern default and it's fast. Match on the PID from systemctl status โ€” process names often differ from unit names (httpd vs apache2). If the port is open locally but unreachable from outside, your firewall is the next stop.

๐Ÿค– How to Check Puppet Service Running in Linux

Puppet is a popular configuration management tool in Linux environments. Verifying whether the Puppet service is running is essential for ensuring proper configuration management:

systemctl status puppet

If the Puppet service is not running or you need to apply changes:

sudo systemctl restart puppet

To further enhance your Linux skills, check out our guide on how to use Linux.

๐Ÿ“Š Common Linux Service Management Commands

Command When to use it
systemctl list-units --type=service --state=running See what's live right now
systemctl list-units --type=service See every loaded service
systemctl list-unit-files --type=service See everything installed
systemctl status nginx Full diagnostic for one service
systemctl start / stop / restart nginx Control it now
systemctl enable --now nginx Start and set to boot
systemctl disable nginx Stop launching at boot
systemctl mask nginx Block from starting at all
journalctl -u nginx -f Watch logs live
systemctl --failed Find broken units fast

โš ๏ธ Common Problems and Fixes

systemctl: command not found โ€” you're on SysVinit or a minimal image. Use service --status-all or check ps -p 1 -o comm=.

Permission denied โ€” read commands work as a normal user; start, stop, enable and mask need sudo.

Nothing works inside a container โ€” most Docker and minimal LXC images don't run systemd at all. Use ps aux instead. On a fresh VPS, walk through basics like changing the hostname in Linux before layering services on top.

โœ… Best Practices on How to List Running Services in Linux

  • Make a list of required services: Take stock of system requirements and select which services should start automatically โ€” this reduces confusion and wasted resources.
  • Set up your system efficiently: Use systemd or the appropriate manager for your needs. Both have benefits and drawbacks โ€” choose what fits.
  • Keep essential services running: Some services are necessary for your Linux system to function and cannot be deactivated.
  • Err on the side of caution: If unsure whether a service can be stopped safely, keep it running.

๐Ÿ Final Words

Linux is a flexible and powerful operating system that can be employed for a variety of tasks, including running a server. Services and daemons are essential because they offer many of the operating system's automatic functions โ€” their health is crucial. It's simple and useful to learn how to get the list of services running in Linux, daemons, and unit files. If a service or daemon won't start, it's also a useful step in debugging.

If you're looking to buy a Linux VPS server, it offers even more advantages in terms of flexibility and cost-efficiency. And if you need to stop a service or kill a process, learn the steps in our guide on how to kill a process in Linux.