Fondasi · Fase 1
Proses di Linux: ps aux, top, htop, kill, systemctl, dan journalctl
Siapa yang sedang bekerja di komputermu? Pelajari cara melihat proses dengan ps, top, dan htop, mengenali proses mencurigakan, menghentikannya dengan kill, mengelola layanan dengan systemctl, dan membaca catatannya dengan journalctl.

Pernah merasa laptopmu tiba-tiba lambat dan kipasnya berputar kencang, padahal kamu tidak sedang membuka apa-apa? Di Windows, kamu akan membuka Task Manager untuk melihat program apa yang sedang bekerja. Di Linux, kamu melakukannya lewat terminal.
Setiap program yang sedang berjalan di Linux disebut proses. Bagi orang keamanan siber, kemampuan melihat dan mengendalikan proses sangat penting. Salah satu tanda paling umum bahwa server sudah dibobol adalah munculnya proses asing, misalnya penambang kripto yang diam-diam memakai CPU server untuk keuntungan penyerang.
Di artikel ini kamu akan belajar melihat proses dengan ps, top, dan htop, menghentikannya dengan kill, mengelola layanan dengan systemctl, dan membaca catatannya dengan journalctl.
Program, proses, dan layanan
Tiga istilah ini sering tertukar. Bayangkan sebuah resep masakan:
| Istilah | Analogi | Contoh |
|---|---|---|
| Program | Resep yang tertulis di buku | File /usr/bin/nano yang tersimpan di disk |
| Proses | Kegiatan memasak menurut resep itu | nano yang sedang kamu buka, punya nomor PID sendiri |
| Layanan (service / daemon) | Dapur restoran yang buka terus | Web server nginx atau ssh yang berjalan di latar belakang |
Setiap proses punya PID (process ID), yaitu nomor unik yang dipakai untuk menunjuk proses itu. Proses juga berjalan atas nama pengguna tertentu, sehingga hak aksesnya mengikuti hak akun tersebut. Ini sambungan langsung dengan materi user management sebelumnya.
Melihat proses: ps aux
ps aux menampilkan semua proses yang sedang berjalan saat itu, seperti foto sesaat.
ps aux # semua proses milik semua pengguna
ps aux | grep nginx # cari proses tertentu
ps aux --sort=-%cpu | head # 10 proses paling rakus CPU
pgrep -a ssh # cari PID proses berdasarkan nama

Perhatikan baris yang ditandai. Satu baris saja bisa memberi tiga petunjuk: CPU yang hampir penuh, waktu mulai yang janggal, dan lokasi program di folder tersembunyi /tmp. Penyerang juga sering menamai programnya mirip proses sistem, seperti kworkerd atau systemd-helper, supaya tidak dicurigai.
Memantau secara langsung: top dan htop
Kalau ps adalah foto, top adalah video. Tampilannya diperbarui setiap beberapa detik, sehingga kamu bisa melihat proses mana yang sedang sibuk.
htop adalah versi yang lebih ramah: berwarna, bisa digulir, dan bisa dipakai dengan tombol fungsi. Biasanya belum terpasang, jadi pasang dulu dengan sudo apt install htop, seperti yang sudah kamu pelajari di materi package manager.
| Tujuan | Di top | Di htop |
|---|---|---|
| Urutkan berdasarkan CPU | P | F6, lalu pilih CPU% |
| Urutkan berdasarkan memori | M | F6, lalu pilih MEM% |
| Cari proses | tidak ada (pakai ps) | F3 |
| Lihat hubungan induk-anak proses | V | F5 |
| Hentikan proses | k, lalu masukkan PID | F9 |
| Keluar | q | F10 atau q |
Menghentikan proses: kill
Namanya memang terdengar seram, tapi kill sebenarnya mengirim sinyal ke sebuah proses. Sinyalnya bisa berarti "tolong berhenti", "berhenti sekarang juga", atau "muat ulang konfigurasimu".

kill 4242 # kirim SIGTERM, minta berhenti baik-baik
kill -9 4242 # kirim SIGKILL, hentikan paksa
pkill nano # hentikan proses berdasarkan nama
kill -l # lihat daftar semua sinyal
Biasakan memakai kill biasa lebih dulu. kill -9 tidak memberi kesempatan program menyimpan data, sehingga bisa membuat file rusak. Kamu juga hanya bisa menghentikan proses milikmu sendiri, kecuali memakai sudo.
Mengelola layanan: systemctl
Layanan seperti web server dan SSH tidak dijalankan manual setiap kali dibutuhkan. Di sebagian besar distro modern, layanan diatur oleh systemd, dan alat untuk mengendalikannya adalah systemctl.

systemctl status ssh # lihat kondisi layanan ssh
sudo systemctl restart nginx # nyalakan ulang web server
sudo systemctl enable --now nginx # nyalakan sekarang dan setiap boot
systemctl list-units --type=service --state=running # semua layanan yang sedang berjalan
systemctl --failed # layanan yang gagal berjalan
Di Ubuntu dan Debian, layanan SSH bernama ssh. Di keluarga Red Hat, namanya sshd. Kalau perintahmu menjawab "Unit not found", coba nama yang satunya.
Membaca catatan: journalctl
systemd mencatat apa saja yang dilakukan layanan: kapan menyala, kapan gagal, dan pesan apa yang dikeluarkan. Catatan ini disebut journal, dan dibaca dengan journalctl.
journalctl -u ssh # catatan layanan ssh
journalctl -u ssh --since "1 hour ago" # hanya satu jam terakhir
journalctl -u ssh -f # ikuti catatan baru secara langsung
journalctl -p err -b # hanya pesan error sejak boot terakhir
Kalau hasilnya kosong atau ada pesan izin ditolak, tambahkan sudo. Pengguna biasa hanya bisa membaca sebagian catatan, kecuali tergabung dalam grup tertentu seperti adm atau systemd-journal.
| Perintah | Fungsi | Kegunaan di keamanan |
|---|---|---|
ps aux | Daftar semua proses saat ini | Menemukan proses asing atau dijalankan akun yang janggal |
top / htop | Memantau proses secara langsung | Mendeteksi proses yang memakan CPU, seperti penambang kripto |
kill | Mengirim sinyal ke proses | Menghentikan proses berbahaya setelah buktinya diamankan |
systemctl | Mengelola layanan | Mematikan layanan yang tidak perlu dan mencari layanan asing |
journalctl | Membaca catatan layanan | Menelusuri login SSH yang gagal atau layanan yang tiba-tiba mati |
Kenapa ini penting untuk keamanan siber
Saat sebuah server dicurigai dibobol, salah satu langkah pertama tim keamanan adalah melihat proses dan layanan yang berjalan. Proses asing, layanan baru yang tidak dikenal, atau layanan yang diatur agar menyala otomatis saat boot adalah cara umum penyerang bertahan di sistem, yang disebut persistence. Di sisi pertahanan, systemctl dipakai untuk mematikan layanan yang tidak perlu agar permukaan serangan mengecil, dan journalctl dipakai untuk menelusuri apa yang terjadi.
Ringkasan
- Proses adalah program yang sedang berjalan. Setiap proses punya PID dan berjalan atas nama pengguna tertentu.
ps auxmenampilkan semua proses saat ini, sedangkantopdanhtopmemantaunya secara langsung.killmengirim sinyal. Pakai SIGTERM dulu, SIGKILL (-9) hanya kalau perlu.systemctlmengendalikan layanan:start/stopberlaku sekarang,enable/disableberlaku saat boot.journalctlmembaca catatan layanan dan sangat berguna untuk menelusuri masalah dan insiden.
Tonton dan baca juga
- Video: Manajemen proses di Linux
- Artikel: Proses dan job (bahasa Inggris)
- Artikel: Membaca log dengan journalctl (bahasa Inggris)
Materi berikutnya membahas izin file secara lebih dalam: arti rwx pada file dan folder, notasi angka, serta izin khusus SUID dan SGID yang sering dimanfaatkan penyerang. Buka di roadmap untuk melanjutkan.