Cara Menampilkan Layanan yang Berjalan di Linux: Panduan Lengkap untuk Semua Sistem Init
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):
Atau, untuk menampilkan setiap unit layanan tanpa memandang statusnya:systemctl list-units --type=service --state=runningsystemctl --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=runninguntuk menampilkan layanan yang aktif. - Gunakan
systemctl list-units --type=serviceuntuk melihat semua layanan. - Gunakan
systemctl list-unit-files --type=serviceuntuk 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
systemctlatauservice. - 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 perintahgrepitu 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 auxuntuk menampilkan semua proses yang berjalan. - Gunakan
ps aux | grep <service-name>untuk memeriksa suatu layanan tertentu. - Gunakan
ps faxuntuk melihat proses dalam tampilan pohon. - Gunakan
netstat -tulnpatauss -tulnpuntuk menemukan layanan yang berjalan di port tertentu.
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):
(Instal denganhtopsudo apt install htopatausudo yum install htopjika belum tersedia.)
