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.
โก 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.

๐ ๏ธ 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 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.
| 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.
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
- Check the status:
systemctl status mysql - Read the logs:
journalctl -u mysql -n 50 --no-pager - Fix, then restart:
systemctl restart mysqlorreload - Verify:
systemctl is-active mysql - 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

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.
![How to List Running Services in Linux ๐ง [Easy Guide] How to List Running Services in Linux ๐ง [Easy Guide]](https://1gbits.com/cdn-cgi/image/width=1200,quality=80,format=auto/https://s3.1gbits.com/blog/2024/03/list-running-services-in-linux-1200xAuto.webp)

Leave A Comment