Checking Linux service status confirms whether a daemon is running, crashed, or intentionally stopped, which is a fast way to separate “the app is down” from “the app is unreachable.” A quick status check can also reveal obvious failure causes (bad config, missing files, permission errors) before deeper log analysis begins.

Most modern Linux distributions use systemd to start and supervise background services, storing their state as units such as nginx.service or ssh.service. The systemctl command queries that state and can display the unit’s load status, active state, recent exit status, and a short tail of the unit’s journal output in a single view.

Status checks depend on the correct unit name and unit type (for example, .service vs .socket), and templated units may include an instance suffix like @instance. Some systems restrict access to the journal for unprivileged users, so sudo may be required to see the recent log lines shown by systemctl status.

Steps to check a Linux service status with systemctl:

  1. Locate the service unit name.
    $ systemctl list-unit-files --type=service | grep -i -- example
    example.service                              enabled         enabled
  2. Check the service status summary and recent log lines.
    $ sudo systemctl status --no-pager --full example.service | head -n 14
    * example.service - Example API
         Loaded: loaded (/etc/systemd/system/example.service; enabled; preset: enabled)
         Active: active (running) since Sat 2026-01-10 07:18:13 +08; 28s ago
       Main PID: 148760 (python3)
          Tasks: 1 (limit: 4546)
         Memory: 9.1M (peak: 9.4M)
            CPU: 61ms
         CGroup: /system.slice/example.service
                 - 148760 /usr/bin/python3 -m http.server 9000 --bind 127.0.0.1
    
    Jan 10 07:18:13 host.example.net systemd[1]: Started example.service - Example API.
  3. Return the active state in a single word for scripts.
    $ systemctl is-active example.service
    active

    The command exit status is 0 when the unit is active.

  4. Confirm whether the service is enabled at boot.
    $ systemctl is-enabled example.service
    enabled

    Units may also report disabled, static, or masked.