Linux – Start, Stop, Restart Services (Systemd, systemctl, service, init.d)

There are 3 ways to manage services on Ubuntu Linux. Systemd is considered the “right” way as of now, but using the service command and init.d scripts still work.

When. you make changes to configuration files for services such as Apache, UFW or SQUID those changes will not become active until you restart the service.


  • sudo systemctl status – shows status of all services on server
  • sudo systemctl status apache2 – shows status of specific service
  • sudo systemctl start/restart/stop apache2 – start/stop restart service


  • sudo service —status-all | less – shows status of services and allows you to scroll through results.
  • sudo service apache2 status/start/stop/restart – to manage services

Init.d (Depricated, but works)

  • sudo /etc/init.d/apache2 status/start/restart/stop – to manage services


  1. On Archlinux for instance only the systemd way still exists, the
    others don’t work anymore.

    On Centos also systemd is the standard, service
    still works, System V init scripts (/etc/rc.d) are gone
    (mostly but for some networking stuff).

    To make things more confusing, Linux has systemd, BSD style rc,
    System V init, OpenRC and I’m sure hundreds more. 🙂

    Also Windows has more than one way to deal with services:
    – the Service Control Manager (SCM, GUI)
    – the command line binary sc.exe
    – Powershell
    – programmatically
    – installers (hooks for stopping/starting a service during
    software updates)

Leave a Reply