Cara Mencipta dan Mengurus Perkhidmatan Pengguna di Linux

Cara Mencipta Dan Mengurus Perkhidmatan Pengguna Di Linux



Pengguna biasa Linux boleh mencipta perkhidmatan systemd tersuai. Walaupun perkhidmatan systemd sebahagian besarnya diuruskan oleh pentadbir sistem menggunakan arahan systemctl. Perintah yang sama juga boleh digunakan untuk mengurus perkhidmatan khusus pengguna; apa yang anda perlukan ialah a –pengguna bendera.

Dalam panduan ini, saya akan membincangkan cara membuat perkhidmatan khusus pengguna di Linux dan cara mengurusnya menggunakan systemctl.

Sebab Mempunyai Perkhidmatan Pengguna Biasa

Perkhidmatan pengguna biasa adalah berbeza daripada perkhidmatan sistem. Perkhidmatan pengguna biasa adalah berpusatkan pengguna log masuk. Perkhidmatan ini hanya akan berfungsi dalam sesi pengguna yang menciptanya.







Cara Membuat Perkhidmatan Pengguna Biasa

Perkhidmatan khusus pengguna pada Linux diletakkan di dalam ~/.config/systemd/user direktori. Jika direktori ini tidak ada, maka ia boleh dibuat.

mkdir -hlm ~ / .config / sistemd / pengguna

The -hlm flag digunakan untuk mencipta direktori induk jika diperlukan. The ~ menunjukkan direktori rumah pengguna tempatan dan bersamaan dengan /home/pengguna manakala titik sebelum fail konfigurasi menjadikannya tersembunyi. Mari buat fail skrip bash mudah yang akan menulis penggunaan memori pada teks setiap 30 minit. Saya sedang mencipta skrip dengan nama skrip.sh .

#! /bin/bash

sementara benar

buat

percuma -m >> / rumah / pengguna / myfile.txt

tidur 1800

selesai

Skrip ini boleh dibuat di mana-mana sahaja, tetapi pastikan laluan yang dinyatakan di dalam skrip adalah laluan mutlak.

Sekarang, mari buat perkhidmatan yang akan melaksanakan skrip di atas di latar belakang. Lancarkan mana-mana editor teks, seperti Nano atau Vim, dan tampal baris yang diberikan di bawah di dalamnya.

[ Unit ]

Penerangan =Perkhidmatan Saya

[ Perkhidmatan ]

taip =mudah

ExecStart = / tong sampah / bash / rumah / pengguna / skrip.sh

Mula semula =pada-kegagalan

[ Pasang ]

WantedBy =default.target

Dalam bahagian [Unit], bahagian Penerangan arahan hanya mengandungi nama perkhidmatan. Ambil perhatian bahawa ia tidak boleh melebihi 80 aksara.

Bahagian [Perkhidmatan] mengandungi tiga arahan penting. Pertama, yang taip ; iaitu ringkas , kemudian ExecStart yang mengandungi boleh laku skrip tersuai kami. Perkhidmatan hanya akan dimulakan semula apabila terdapat kegagalan.

Bahagian [Pasang] mengandungi WantedBy arahan iaitu lalai.sasaran , membayangkan bahawa perkhidmatan akan didayakan pada keadaan sistem apabila ia dicapai pada tahap larian lalai, yang biasanya multi-user.target atau graphical.target.

Sekarang, simpan fail dalam ~/.config/systemd/user direktori dengan sebarang nama; Saya menamakannya myservice.service .

Cara Mengurus Perkhidmatan Pengguna Biasa

Untuk menguruskan perkhidmatan pengguna biasa, arahan systemctl digunakan dengan –pengguna bendera. The –pengguna bendera menandakan bahawa pengguna menghubungi pengurus perkhidmatan, bukannya sistem.

Selepas mencipta fail perkhidmatan khusus pengguna, langkah penting pertama ialah memuat semula fail konfigurasi systemd.

systemctl --pengguna daemon-reload

Ini akan menggunakan perubahan.

Untuk mengetahui sama ada perkhidmatan sedang berjalan atau tidak, gunakan systemctl, dengan –pengguna bendera dan pilihan.

systemctl --pengguna status [ nama_perkhidmatan ]

Perintah lain untuk mengurus perkhidmatan pengguna biasa disebut di bawah:

systemctl --pengguna mulakan [ nama_perkhidmatan ]

systemctl --pengguna membolehkan [ nama_perkhidmatan ]

systemctl --pengguna berhenti [ nama_perkhidmatan ]

systemctl --pengguna melumpuhkan [ nama_perkhidmatan ]

systemctl --pengguna mula semula [ nama_perkhidmatan ]

Cara Membuat Perkhidmatan Pengguna Biasa dengan Kebenaran Pentadbir Sistem

Terdapat banyak perkhidmatan yang dibuat oleh pengguna, tetapi mereka memerlukan kebenaran pentadbir untuk dijalankan. Perkhidmatan sedemikian boleh dibuat dengan menambah a pengguna arahan ke bahagian [Perkhidmatan].

The pengguna arahan boleh digunakan untuk menyebut nama pengguna yang kebenarannya diperlukan untuk menjalankan perkhidmatan, seperti admin . Jadi, jika pengguna biasa ingin mencipta perkhidmatan yang menuntut kebenaran pentadbir, maka hanya menambah Pengguna=pentadbir dalam bahagian [Perkhidmatan] akan melakukan kerja. Walau bagaimanapun, perkhidmatan ini akan kekal aktif selagi pentadbir aktif. Ambil perhatian bahawa perkhidmatan ini tidak boleh dikawal secara langsung oleh pentadbir.

Kesimpulan

Pengguna biasa juga boleh mencipta perkhidmatan systemd, tetapi ia perlu diletakkan di dalamnya ~/.config/systemd/user direktori. Perkhidmatan ini berjalan selagi pengguna yang menciptanya log masuk. Perkhidmatan ini juga diuruskan melalui arahan systemctl tetapi dengan –pengguna bendera. Yang memberitahu systemd bahawa perkhidmatan itu dipanggil oleh pengguna, bukan sistem. Dalam panduan ini, saya mencipta perkhidmatan pengguna biasa tersuai dan menyebut arahan systemctl untuk mengurusnya. Selain itu, saya juga mengetengahkan kaedah untuk mencipta perkhidmatan yang memerlukan keistimewaan pentadbiran.