Cara Membuat dan Mengelola Layanan Pengguna di Linux

Cara Membuat Dan Mengelola Layanan Pengguna Di Linux



Pengguna normal Linux dapat membuat layanan systemd khusus. Sementara layanan systemd sebagian besar dikelola oleh administrator sistem menggunakan perintah systemctl. Perintah yang sama juga dapat digunakan untuk mengelola layanan khusus pengguna; yang Anda butuhkan hanyalah a -pengguna bendera.

Dalam panduan ini, saya akan membahas cara membuat layanan khusus pengguna di Linux dan cara mengelolanya menggunakan systemctl.

Alasan Memiliki Layanan Pengguna Normal

Layanan pengguna normal berbeda dari layanan sistem. Layanan pengguna normal adalah layanan login yang berpusat pada pengguna. Layanan ini hanya akan berfungsi pada sesi pengguna yang membuatnya.







Cara Membuat Layanan Pengguna Normal

Layanan khusus pengguna di Linux ditempatkan di ~/.config/systemd/user direktori. Jika direktori ini tidak ada, maka direktori tersebut dapat dibuat.

mkdir -P ~ / .config / sistemd / pengguna

Itu -P flag digunakan untuk membuat direktori induk jika diperlukan. Itu ~ menunjukkan direktori home pengguna lokal dan setara dengan /home/pengguna sedangkan titik sebelum file konfigurasi membuatnya tersembunyi. Mari kita buat file skrip bash sederhana yang akan menulis penggunaan memori ke teks setiap 30 menit. Saya membuat skrip dengan nama skrip.sh .

#! /bin/bash

ketika BENAR

Mengerjakan

bebas -M >> / rumah / pengguna / file saya.txt

tidur 1800

Selesai

Skrip ini dapat dibuat di mana saja, namun pastikan jalur yang ditentukan di dalam skrip adalah jalur absolut.

Sekarang, mari buat layanan yang akan menjalankan skrip di atas di latar belakang. Luncurkan editor teks apa pun, seperti Nano atau Vim, dan tempelkan baris di bawah ini ke dalamnya.

[ Satuan ]

Keterangan =Layanan Saya

[ Melayani ]

Jenis =sederhana

Mulai Eksekutif = / tempat sampah / pesta / rumah / pengguna / skrip.sh

Mengulang kembali = saat gagal

[ Install ]

Dicari Oleh =default.target

Di bagian [Unit], Keterangan direktif hanya berisi nama layanan. Perhatikan bahwa tidak boleh lebih dari 80 karakter.

Bagian [Layanan] berisi tiga arahan penting. Pertama, itu Jenis ; yang sederhana , Kemudian Mulai Eksekutif berisi skrip khusus kami yang dapat dieksekusi. Layanan hanya akan dimulai ulang ketika terjadi kegagalan.

Bagian [Instal] berisi Dicari Oleh arahan yang mana default.target , menyiratkan bahwa layanan akan diaktifkan pada status sistem ketika mencapai tingkat proses default, yang biasanya multi-pengguna.target atau grafis.target.

Sekarang, simpan file tersebut di ~/.config/systemd/user direktori dengan nama apa pun; Saya menamainya layanan saya.layanan .

Cara Mengelola Layanan Pengguna Normal

Untuk mengelola layanan pengguna normal, perintah systemctl digunakan dengan -pengguna bendera. Itu -pengguna bendera menandakan bahwa pengguna menghubungi manajer layanan, bukan sistem.

Setelah membuat file layanan khusus pengguna, langkah penting pertama adalah memuat ulang file konfigurasi systemd.

sistemctl --pengguna daemon-reload

Ini akan menerapkan perubahan.

Untuk mengetahui apakah layanan sedang berjalan atau tidak, gunakan systemctl, dengan -pengguna bendera dan opsi.

sistemctl --pengguna status [ Nama layanan ]

Perintah lain untuk mengelola layanan pengguna normal disebutkan di bawah:

sistemctl --pengguna awal [ Nama layanan ]

sistemctl --pengguna memungkinkan [ Nama layanan ]

sistemctl --pengguna berhenti [ Nama layanan ]

sistemctl --pengguna cacat [ Nama layanan ]

sistemctl --pengguna mengulang kembali [ Nama layanan ]

Cara Membuat Layanan Pengguna Normal dengan Izin Admin Sistem

Ada banyak layanan yang dibuat pengguna, namun memerlukan izin admin untuk dijalankan. Layanan tersebut dapat dibuat dengan menambahkan a Pengguna arahan ke bagian [Layanan].

Itu Pengguna direktif dapat digunakan untuk menyebutkan nama pengguna yang izinnya diperlukan untuk menjalankan layanan, seperti admin . Jadi, jika pengguna biasa ingin membuat layanan yang memerlukan izin admin, cukup tambahkan Pengguna=admin di bagian [Layanan] akan melakukan pekerjaan itu. Namun layanan ini akan tetap aktif selama adminnya aktif. Perlu diperhatikan bahwa layanan ini tidak dapat dikontrol langsung oleh admin.

Kesimpulan

Pengguna biasa juga dapat membuat layanan systemd, tetapi layanan tersebut harus ditempatkan di dalamnya ~/.config/systemd/user direktori. Layanan ini berjalan selama pengguna yang membuatnya login. Layanan ini juga dikelola melalui perintah systemctl tetapi dengan -pengguna bendera. Yang memberitahu systemd bahwa layanan dipanggil oleh pengguna, bukan sistem. Dalam panduan ini, saya membuat layanan pengguna normal khusus dan menyebutkan perintah systemctl untuk mengelolanya. Selain itu, saya juga menyoroti metode untuk membuat layanan yang memerlukan hak administratif.