Cara Menampilkan Layanan yang Berjalan di Linux: Panduan Lengkap untuk Semua Sistem Init

2025-02-12 · Diperbarui 2026-07-06

Jawaban Cepat: Cara Menampilkan Layanan yang Berjalan di Linux

Untuk menampilkan layanan yang berjalan di Linux, gunakan salah satu perintah berikut sesuai dengan sistem init Anda:

  • systemd (Ubuntu 24.04, Debian 12, CentOS/RHEL 9, Fedora 40+, dan sebagian besar distro modern pada 2026):
    systemctl list-units --type=service --state=running
    
    Atau, untuk menampilkan setiap unit layanan tanpa memandang statusnya:
    systemctl --type=service
    
  • SysVinit / sistem lama (atau untuk turut menyertakan skrip init lawas):
    service --status-all
    

systemd merupakan sistem init default di hampir semua distribusi Linux arus utama saat ini, sehingga systemctl list-units --type=service --state=running menjadi jawaban untuk sebagian besar kasus. Perintah ini mencetak tabel layanan yang sedang aktif beserta status LOAD, ACTIVE, dan SUB-nya. Jika systemctl tidak ditemukan, berarti sistem Anda tidak menjalankan systemd — beralihlah ke service --status-all (SysVinit) atau rc-status (OpenRC).

Bagian selanjutnya dari panduan ini menjelaskan setiap metode secara rinci, termasuk cara memfilter berdasarkan status, memeriksa layanan yang aktif saat boot, dan menemukan layanan berdasarkan port.

Pendahuluan

Layanan Linux adalah proses latar belakang yang berjalan terus-menerus untuk mengerjakan tugas sistem, seperti mengelola jaringan, menangani login pengguna, atau menjalankan server web. Layanan ini dapat dikelola melalui berbagai alat, tergantung pada distribusi Linux dan sistem init yang digunakan. Per 2026, systemd menjadi sistem init standar di hampir semua distribusi utama, sehingga sebagian besar panduan ini berfokus pada perintah systemctl.

Mengetahui cara menampilkan layanan yang berjalan sangat penting bagi administrator sistem dan pengembang. Kemampuan ini membantu untuk:

  • Memecahkan masalah – Memeriksa apakah layanan penting sedang berjalan atau justru gagal.
  • Memantau kinerja – Mengidentifikasi layanan yang boros sumber daya.
  • Audit keamanan – Memastikan hanya layanan yang benar-benar diperlukan yang aktif.

Menggunakan systemctl (Untuk Sistem Berbasis Systemd)

Sebagian besar distribusi Linux modern menggunakan systemd sebagai sistem init. Ini termasuk rilis 2026 terkini seperti Ubuntu (16.04 hingga 24.04 LTS dan yang lebih baru), Debian (8 hingga 12 "Bookworm" dan yang lebih baru), Fedora (40+), CentOS Stream / RHEL / Rocky Linux / AlmaLinux (7 hingga 9 dan yang lebih baru), serta openSUSE. Perintah systemctl adalah alat utama untuk mengelola dan menampilkan layanan di semua sistem tersebut.

Memeriksa Status Satu Layanan

Untuk memeriksa apakah suatu layanan sedang berjalan, gunakan:

systemctl status <service-name>

Sebagai contoh, untuk memeriksa apakah server web nginx sedang berjalan:

systemctl status nginx

Keluarannya akan menunjukkan apakah layanan tersebut aktif (berjalan), tidak aktif, atau gagal, lengkap dengan log untuk keperluan debugging.

Menampilkan Semua Layanan Aktif

Untuk menampilkan semua layanan yang berjalan, gunakan:

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

Perintah ini menampilkan tabel berisi semua layanan yang sedang berjalan beserta statusnya.

Menampilkan Semua Layanan (Termasuk yang Tidak Aktif)

Jika Anda ingin melihat semua layanan, baik yang sedang berjalan maupun tidak:

systemctl list-units --type=service

Ini akan mencakup layanan yang berstatus aktif, tidak aktif, gagal, maupun status lainnya.

Memfilter Layanan Berdasarkan Status

Anda dapat memfilter layanan berdasarkan statusnya dengan:

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

Ini hanya akan menampilkan layanan yang gagal, yang berguna untuk pemecahan masalah.

Menampilkan Layanan yang Aktif Saat Boot

Untuk memeriksa layanan mana yang diatur agar berjalan otomatis saat boot:

systemctl list-unit-files --type=service | grep enabled

Contoh Keluaran

Keluaran umum dari systemctl list-units --type=service --state=running kira-kira tampak seperti ini:

UNIT                        LOAD   ACTIVE SUB     DESCRIPTION
cron.service                loaded active running Regular background program processing daemon
networking.service          loaded active running Raise network interfaces
ssh.service                 loaded active running OpenBSD Secure Shell server
systemd-logind.service      loaded active running Login Service

Ringkasan

  • Gunakan systemctl status <service> untuk memeriksa status satu layanan.
  • Gunakan systemctl list-units --type=service --state=running untuk menampilkan layanan yang aktif.
  • Gunakan systemctl list-units --type=service untuk melihat semua layanan.
  • Gunakan systemctl list-unit-files --type=service untuk melihat layanan yang aktif saat boot.

Menggunakan ps dan grep untuk Melihat Proses yang Berjalan

Jika Anda ingin menampilkan layanan yang berjalan tanpa bergantung pada systemctl atau alat manajemen layanan lainnya, Anda dapat menggunakan ps (process status) bersama grep untuk menemukan proses tertentu.

Metode ini berguna ketika:

  • Anda bekerja di sistem Linux minimal yang tidak memiliki perintah systemctl atau service.
  • Anda ingin memeriksa apakah suatu proses sedang berjalan, tanpa memandang sistem init yang dipakai.

Menampilkan Semua Proses yang Berjalan

Perintah ps aux menampilkan semua proses yang berjalan di sistem:

ps aux

Ini akan menghasilkan daftar panjang berisi semua proses yang berjalan, termasuk ID proses (PID), penggunaan CPU, penggunaan memori, dan nama perintahnya.

Mencari Layanan Tertentu

Untuk memeriksa apakah suatu layanan sedang berjalan, gunakan ps aux | grep <service-name>:

ps aux | grep nginx

Perintah ini akan menampilkan baris-baris yang memuat "nginx", sehingga terlihat apakah layanan tersebut sedang berjalan. Keluarannya kira-kira tampak seperti ini:

root      1034  0.0  0.3  49536  3412 ?        Ss   12:34   0:00 nginx: master process /usr/sbin/nginx
www-data  1035  0.0  0.2  49536  2824 ?        S    12:34   0:00 nginx: worker process
user      2045  0.0  0.0  14856   900 pts/0    S+   12:35   0:00 grep --color=auto nginx

Penjelasannya:

  • Dua baris pertama menunjukkan bahwa layanan nginx sedang berjalan.
  • Baris terakhir (grep --color=auto nginx) adalah perintah grep itu sendiri. Anda dapat mengecualikannya dengan:
ps aux | grep nginx | grep -v grep

Menampilkan Proses dalam Format Hierarki

Untuk tampilan yang lebih terstruktur, gunakan:

ps fax

Ini menampilkan proses yang berjalan dalam bentuk struktur pohon, sehingga lebih mudah mengenali layanan mana yang berjalan beserta proses turunannya.

Menemukan Layanan Berdasarkan Port

Jika Anda menduga suatu layanan berjalan di port tertentu tetapi tidak yakin nama layanannya, gunakan:

netstat -tulnp | grep :80

atau, jika netstat tidak tersedia:

ss -tulnp | grep :80

Ini akan menampilkan proses yang menggunakan port 80 (umumnya dipakai oleh server web seperti Nginx atau Apache).

Ringkasan

  • Gunakan ps aux untuk menampilkan semua proses yang berjalan.
  • Gunakan ps aux | grep <service-name> untuk memeriksa suatu layanan tertentu.
  • Gunakan ps fax untuk melihat proses dalam tampilan pohon.
  • Gunakan netstat -tulnp atau ss -tulnp untuk menemukan layanan yang berjalan di port tertentu.
How to List Running Services on Linux

FAQ (Pertanyaan yang Sering Diajukan)

1. Bagaimana cara memeriksa apakah suatu layanan berjalan di Linux?

Anda dapat menggunakan beberapa metode berbeda sesuai distribusi Linux Anda:

  • Untuk sistem berbasis systemd:
    systemctl status <service-name>
    
  • Untuk sistem berbasis SysVinit:
    service <service-name> status
    
  • Menggunakan ps dan grep:
    ps aux | grep <service-name>
    

2. Bagaimana cara menampilkan semua layanan yang berjalan?

  • Untuk sistem berbasis systemd:
    systemctl list-units --type=service --state=running
    
  • Untuk sistem berbasis SysVinit:
    service --status-all
    
  • Menggunakan perintah ps:
    ps aux
    

3. Bagaimana cara memeriksa apakah suatu layanan berjalan saat boot?

  • Untuk systemd:
    systemctl is-enabled <service-name>
    
  • Untuk SysVinit (sistem berbasis RHEL):
    chkconfig --list <service-name>
    

4. Bagaimana cara me-restart suatu layanan?

  • Untuk sistem berbasis systemd:
    sudo systemctl restart <service-name>
    
  • Untuk sistem berbasis SysVinit:
    sudo service <service-name> restart
    

5. Bagaimana cara menghentikan atau menonaktifkan suatu layanan?

  • Untuk menghentikan layanan sementara:
    sudo systemctl stop <service-name>
    
  • Untuk mencegah layanan berjalan saat boot:
    sudo systemctl disable <service-name>
    

6. Bagaimana cara menemukan layanan yang menggunakan port tertentu?

Anda dapat menggunakan netstat atau ss untuk menemukan layanan yang berjalan di port tertentu:

netstat -tulnp | grep :80

atau

ss -tulnp | grep :80

7. Apa yang harus dilakukan jika systemctl tidak ditemukan?

Jika Anda mendapatkan kesalahan seperti command not found: systemctl, berarti sistem Anda kemungkinan tidak menggunakan systemd. Coba gunakan:

service --status-all

atau

ps aux | grep <service-name>

8. Bagaimana cara menampilkan layanan yang gagal?

Untuk sistem berbasis systemd, jalankan:

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

9. Bagaimana cara mengaktifkan logging untuk layanan tertentu?

Untuk memeriksa log layanan yang dikelola oleh systemd, gunakan:

journalctl -u <service-name>

Untuk melihat log secara real-time:

journalctl -u <service-name> -f

10. Bisakah saya menggunakan top atau htop untuk melihat layanan yang berjalan?

Ya! top dan htop menampilkan proses yang berjalan secara langsung (real-time):

  • Gunakan top:
    top
    
  • Gunakan htop (interaktif dan ramah pengguna):
    htop
    
    (Instal dengan sudo apt install htop atau sudo yum install htop jika belum tersedia.)