Controlling Services and Daemons
Published: 2024-04-02 03:20:54

Pengantar sistemd
Daemon systemd mengelola startup untuk Linux, termasuk startup layanan dan manajemen layanan secara umum. Ini mengaktifkan sumber daya sistem, daemon server, dan proses lainnya baik pada saat boot maupun pada sistem yang sedang berjalan.
Daemon adalah proses yang menunggu atau berjalan di latar belakang, melakukan berbagai tugas. Umumnya, daemon dimulai secara otomatis saat boot dan terus berjalan hingga dimatikan atau dihentikan secara manual. Ini adalah konvensi untuk nama banyak program daemon yang diakhiri dengan huruf d.
Layanan dalam pengertian systemd sering kali mengacu pada satu atau lebih daemon.

Di Red Hat Enterprise Linux, proses pertama yang dimulai (PID 1) adalah systemd. Beberapa fitur yang disediakan oleh systemd antara lain:

1. Kemampuan paralelisasi (memulai beberapa layanan secara bersamaan), yang meningkatkan kecepatan booting suatu sistem.
2. Memulai daemon sesuai permintaan tanpa memerlukan layanan terpisah.
3. Manajemen ketergantungan layanan otomatis, yang dapat mencegah waktu tunggu yang lama. Misalnya, layanan yang bergantung pada jaringan tidak akan mencoba memulai hingga jaringan tersedia.
4. Sebuah metode pelacakan proses terkait bersama-sama dengan menggunakan grup kontrol Linux.

**Menjelaskan Unit Pelayanan**
systemd menggunakan unit untuk mengelola berbagai jenis objek. Beberapa tipe unit umum tercantum di bawah ini:

- unit layanan memiliki ekstensi .service dan mewakili layanan sistem. Unit jenis ini digunakan untuk memulai daemon yang sering diakses, seperti server web.

- Unit soket memiliki ekstensi .socket dan mewakili soket komunikasi antar-proses (IPC) yang harus dipantau oleh systemd. Jika klien terhubung ke soket, systemd akan memulai daemon dan meneruskan koneksi ke sana. Unit soket digunakan untuk menunda dimulainya layanan pada waktu boot dan untuk memulai layanan yang jarang digunakan sesuai permintaan.

- Unit jalur memiliki ekstensi .path dan digunakan untuk menunda aktivasi layanan hingga terjadi perubahan sistem file tertentu. Ini biasanya digunakan untuk layanan yang menggunakan direktori spool seperti sistem pencetakan.

_Perintah systemctl digunakan untuk mengelola unit. Misalnya, tampilkan tipe unit yang tersedia dengan perintah systemctl -t help._

**Penting**
Saat menggunakan systemctl, Anda dapat menyingkat nama unit, entri pohon proses, dan deskripsi unit.

**Unit Layanan Pencatatan**
Anda menggunakan perintah systemctl untuk menjelajahi keadaan sistem saat ini. Misalnya, perintah berikut mencantumkan semua unit layanan yang sedang dimuat, memberi nomor halaman pada output menggunakan lebih sedikit.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jwt2dz6o19k0rb8fl7fs.png)
Output di atas membatasi jenis unit yang terdaftar pada unit layanan dengan opsi --type=service. Outputnya memiliki kolom berikut:
**Kolom dalam Output Perintah unit daftar sistemctl**
UNIT
Nama unit layanan.
LOAD
Apakah systemd menguraikan konfigurasi unit dengan benar dan memuat unit ke dalam memori.
ACTIVE
Status aktivasi tingkat tinggi pada unit. Informasi ini menunjukkan apakah unit telah berhasil dijalankan atau tidak.
SUB
Status aktivasi tingkat rendah pada unit. Informasi ini menunjukkan informasi lebih rinci tentang unit. Informasinya bervariasi berdasarkan jenis unit, status, dan cara unit dijalankan.

Secara default, perintah systemctl list-units --type=service hanya mencantumkan unit layanan dengan status aktivasi aktif. Opsi --all mencantumkan semua unit layanan terlepas dari status aktivasi. Gunakan opsi --state= untuk memfilter berdasarkan nilai di kolom LOAD, ACTIVE, atau SUB.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/moua8zd1zxmtjoxdoo8o.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t1qwqsb3k2pjmecoyakd.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2h1q0pdupb2qhuvguasq.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s2d8pnl1pd8t4az6jbhi.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hg17ikfakbs97p3wi2o0.png)

**Catatan**
Perintah systemctl status NAME menggantikan perintah status NAME layanan yang digunakan di Red Hat Enterprise Linux 6 dan versi lebih lama.

Perintah systemctl menyediakan metode untuk memverifikasi status layanan tertentu. Misalnya, gunakan perintah berikut untuk memverifikasi bahwa unit layanan sedang aktif (berjalan):

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5jx10vot22fczvyer50d.png)