Controlling Services and Daemons (Mengontrol Layanan dan Daemon)
Published: 2024-03-23 03:57:01


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

## Mengidentifikasi Proses Sistem yang Dimulai Secara Otomatis
Tujuan
Setelah menyelesaikan bagian ini, Anda seharusnya dapat membuat daftar daemon sistem dan layanan jaringan yang dimulai oleh systemdunit layanan dan soket.

## Perkenalan pada system
Itu systemd daemon 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.

Sebuah layanan dalam systemd artian sering mengacu pada satu atau lebih daemon, namun memulai atau menghentikan suatu layanan malah dapat membuat perubahan satu kali pada keadaan sistem, yang tidak melibatkan membiarkan proses daemon berjalan setelahnya (disebut oneshot).

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

- Kemampuan paralelisasi (memulai beberapa layanan secara bersamaan), yang meningkatkan kecepatan booting suatu sistem.

- Memulai daemon sesuai permintaan tanpa memerlukan layanan terpisah.

- Manajemen ketergantungan layanan otomatis, yang dapat mencegah waktu tunggu yang lama. Misalnya, layanan yang bergantung pada jaringan tidak akan mencoba memulai hingga jaringan tersedia.

- Sebuah metode pelacakan proses terkait bersama-sama dengan menggunakan grup kontrol Linux.

## Menjelaskan Unit Pelayanan
systemd kegunaanun itu ntuk mengelola berbagai jenis objek. Beberapa tipe unit umum tercantum di bawah ini:

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

- Unit soket memiliki .socketekstensi dan mewakili soket komunikasi antar proses (IPC) yang systemd harus dipantau. Jika klien terhubung ke soket, system dakan 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 .path ekstensi 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 less .

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hov8k5cg6uchu2d7a0lh.jpg)
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 konfigurasi unit diuraikan 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.

**DESCRIPTION**
Deskripsi singkat tentang unit ini.

Secara default, perintah **systemctl list-units --type=service** hanya mencantumkan unit layanan dengan activestatus aktivasi. Opsi ini --allmencantumkan semua unit layanan terlepas dari status aktivasi. Gunakan --state=opsi untuk memfilter menurut nilai di bidang _LOAD, ACTIVE,_ atau _SUB._

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mfjpag0bg1hpmnrntuhu.jpg)
Perintah **systemctl** tanpa argumen apa pun mencantumkan unit yang dimuat dan aktif.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j0e2paw3dscr7udspowf.jpg)
Perintah systemctl list-units menampilkan unit yang systemd coba diurai dan dimuat oleh layanan ke dalam memori; itu tidak menampilkan layanan yang diinstal, tetapi tidak diaktifkan. Untuk melihat status semua file unit yang diinstal, gunakan perintah systemctl list-unit-files . Misalnya:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gclm86me45ofesuybbyq.jpg)
Dalam output perintah **systemctl list-units-files** , entri yang valid untuk STATE bidang tersebut adalah enabled, disabled, static, dan masked.

## Melihat Status Layanan
Lihat status unit tertentu dengan status systemctl name.type. Jika tipe unit tidak tersedia, systemctl akan menampilkan status unit layanan, jika ada.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s75t5qceuu0f7h2ybkll.jpg)
Perintah ini menampilkan status layanan saat ini. Arti dari field adalah:

**Tabel 9.1. Informasi Unit Layanan**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ly9pe0zv9wnwdhfplmli.jpg)
Beberapa kata kunci yang menunjukkan status layanan dapat ditemukan di keluaran status:

**Tabel 9.2. Status Layanan di Output systemctl**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/47pmzxfvq3l63uvbnxdb.jpg)
**Catatan**
Status sistemctl NAME perintah menggantikan layanan NAME perintah status yang digunakan di Red Hat Enterprise Linux 6 dan versi lebih lama.

## Memverifikasi Status Layanan
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/iq6ykbd2xsxca32l2ecu.jpg)
Perintah ini mengembalikan status unit layanan, yang biasanya berupa _active_ atau _inactive._

Jalankan perintah berikut untuk memverifikasi apakah unit layanan diaktifkan untuk memulai secara otomatis selama boot sistem:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ro3mitgaq9x1nc7b4et1.jpg)
Perintah ini mengembalikan apakah unit layanan diaktifkan untuk memulai pada waktu boot, yang biasanya enabled atau disabled.

Untuk memverifikasi apakah unit gagal saat startup, jalankan perintah berikut:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/525wo3t0hy8gxzwxhmxf.jpg)
Perintah akan kembali active jika dijalankan dengan benar atau failed jika terjadi kesalahan saat startup. Jika unit dihentikan, ia akan kembali unknown atau inactive.

Untuk membuat daftar semua unit yang gagal, jalankan perintah **systemctl --failed --type=service.**