How do I list all currently running services in Fedora / RHEL / CentOS Linux server? How can I check the status of a service using systemd based CentOS/RHEL 7.x?
There are various ways and tools to find and list all running services under a Fedora / RHEL / CentOS Linux systems.
Red Hat / CentOS Check and List Running Services Command
Please note that systemd based system such as CentOS/RHEL 7.x and latest version of fedora use the systemctl command to list running services.
List running services using service command on a CentOS/RHEL 6.x or older
The syntax is as follows for CentOS/RHEL 6.x and older (pre systemd systems):service --status-all
service --status-all | more
service --status-all | grep ntpd
service --status-all | less
Print the status of any service
To print the status of apache (httpd) service:service httpd status
List all known services (configured via SysV)
chkconfig --list
List service and their open ports
netstat -tulpn
Turn on / off service
ntsysv
chkconfig service off
chkconfig service on
chkconfig httpd off
chkconfig ntpd on
ntsysv is a simple interface for configuring runlevel services which are also configurable through chkconfig. By default, it configures the current runlevel. Just type ntsysv and select service you want to run.
Red Hat / CentOS List Running Services using systemctl (RHEL/CentOS 7.x)
If you are using systemd based distro such as Fedora Linux v22/23/24/26/27/28/29 or RHEL/CentOS Linux 7.x+. Try the following command to list running services using the systemctl command. It control the systemd system and service manager.
To list systemd services on CentOS/RHEL 7.x+ use
The syntax is:systemctl
systemctl | more
systemctl | grep httpd
systemctl list-units --type service
systemctl list-units --type mount
To list all services:systemctl list-unit-files
Sample outputs:
To view processes associated with a particular service (cgroup), you can use the systemd-cgtop command. Like the top command, systemd-cgtop lists running processes based on their service:systemd-cgtop
Sample outputs:
Path Tasks %CPU Memory Input/s Output/s / 85 0.3 240.1M - - /system.slice/NetworkManager.service 2 - - - - /system.slice/auditd.service 1 - - - - /system.slice/crond.service 1 - - - - /system.slice/dbus.service 1 - - - - /system.slice/lvm2-lvmetad.service 1 - - - - /system.slice/polkit.service 1 - - - - /system.slice/postfix.service 3 - - - - /system.slice/rsyslog.service 1 - - - - /system.slice/sshd.service 1 - - - - /system.slice/...tty.slice/getty@tty1.service 1 - - - - /system.slice/systemd-journald.service 1 - - - - /system.slice/systemd-logind.service 1 - - - - /system.slice/systemd-udevd.service 1 - - - - /system.slice/tuned.service 1 - - - - /system.slice/wpa_supplicant.service 1 - - - - /user.slice/user-0.slice/session-2.scope 1 - - - - /user.slice/user-1000.slice/session-1.scope 4 - - - - |
To list SysV services only on CentOS/RHEL 7.x+ use (does not include native systemd services)
chkconfig --list
Sample outputs:
How to check the status of a service using systemd
Say you want to check status of a service named sshd, run$ systemctl status sshd.service
Sample outputs:
? sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2018-10-15 11:59:40 IST; 4 weeks 0 days ago Docs: man:sshd(8) man:sshd_config(5) Main PID: 1540 (sshd) Tasks: 1 CGroup: /system.slice/sshd.service ??1540 /usr/sbin/sshd -D Nov 06 00:00:00 centos7-box sshd[27878]: Accepted publickey for vivek from 192.168.2.30 port 37785 ssh2: RSA SHA256:GVszs/CD7zRUV6uFCp1c9/8OEgzI5RTD2TvPkglS0AA Nov 12 14:15:44 centos7-box sshd[29290]: Accepted publickey for backup from 192.168.2.24 port 59226 ssh2: ED25519 SHA256:uym82tbI4l6Gfl+uf/+lfzymbkhstTnAS35lcoa6VLU |
One can verify that if a service named sshd is running (active) or not running (inactive) on a CentOS/RHEL 7.x+:systemctl is-active sshd
systemctl is-enabled sshd
systemctl is-active nginx
systemctl is-enabled nginx
systemctl is-enabled httpd
Conclusion
For latest version of the CentOS/RHEL 7.x use the systemctl command and for older version try service command to show all services running under Centos or RHEL Server.