Materi
systemd menjalankan dan mengawasi layanan di kebanyakan distribusi Linux. Setiap layanan dijelaskan berkas unit berakhiran .service. Bagian [Unit] memuat keterangan dan urutan, misalnya After=network.target agar layanan dinyalakan sesudah jaringan siap. Bagian [Service] memuat ExecStart= (program yang dijalankan), User= (pengguna yang menjalankannya), dan Restart= (kapan dinyalakan ulang). Bagian [Install] memuat WantedBy=, yang dipakai saat unit di-enable.
[Unit]
Description=Aplikasi absensi karyawan
After=network.target
[Service]
ExecStart=/opt/absensi/bin/absensi-server
User=absensi
Restart=on-failure
[Install]
WantedBy=multi-user.targetUnit dari paket disimpan di /usr/lib/systemd/system, unit buatan admin di /etc/systemd/system yang prioritasnya lebih tinggi. Unit dari paket diubah dengan menyalinnya ke /etc/systemd/system atau lewat berkas tambahan di folder nama.service.d, supaya pembaruan paket tidak menimpa perubahanmu.
start dan stop bekerja saat itu saja. enable membuat tautan dari bagian [Install] sehingga layanan ikut menyala saat boot, tetapi tidak menyalakannya sekarang; enable --now mengerjakan keduanya. restart menghentikan lalu menyalakan layanan. reload meminta layanan membaca ulang konfigurasinya sendiri, bukan berkas unit. Setelah berkas unit disunting, systemctl daemon-reload membuat systemd membaca ulang berkas unit; tanpa itu systemd tetap memakai isi lama.
$ systemctl status nginx.service
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Mon 2026-10-26 07:00:12 WIB; 1 day 2h agoPada systemctl status, baris Loaded menyebut path berkas unit dan apakah unit itu enabled atau disabled untuk boot. Kata preset sesudahnya adalah bawaan kebijakan distribusi, bukan keadaan sekarang. Baris Active menyebut keadaan sekarang: active (running), inactive (dead), atau failed bila prosesnya mogok, keluar dengan kode galat, atau melewati batas waktu. Restart=on-failure menyalakan ulang layanan yang keluar dengan kode bukan 0 atau terbunuh sinyal; nilai bawaannya no.