Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 10964|Jawab: 8

[linux] Manajer layanan systemd Linux dijelaskan secara rinci

[Salin tautan]
Diposting pada 28/11/2021 10.02.32 | | | |
systemd adalah seperangkat blok bangunan dasar untuk sistem Linux. Ini menyediakan manajer sistem dan layanan yang menjalankan dan memulai sistem lainnya sebagai PID 1.

systemd menyediakan kemampuan paralelisasi yang agresif, menggunakan soket dan aktivasi D-Bus untuk memulai layanan, menyediakan awal daemon sesuai permintaan, menggunakan grup kontrol Linux untuk melacak proses, memelihara mount dan titik pemasangan otomatis, dan mengimplementasikan logika kontrol layanan berbasis dependensi transaksi yang dirancang dengan baik. systemd mendukung skrip init SysV dan LSB dan dapat menggantikan sysvinit.

Bagian lain termasuk daemon log, utilitas untuk mengontrol konfigurasi sistem dasar seperti nama host, tanggal, lokal, memelihara daftar pengguna yang masuk dan menjalankan kontainer dan mesin virtual, akun sistem, direktori runtime, dan pengaturan, serta mengelola konfigurasi daemon untuk jaringan sederhana, sinkronisasi waktu jaringan, penerusan log, dan resolusi nama.

File konfigurasi systemd ada di tiga folder berikut:         

/etc/systemd/system 存放系统启动的默认级别及启动的unit的软连接,优先级最高。

/run/systemd/system 系统执行过程中产生的服务脚本,优先级次之。

/usr/lib/systemd/system 存放系统上所有的启动文件,优先级最低。
Resensi:

Linux melihat output log dari layanan Systemd
https://www.itsvse.com/thread-10154-1-1.html

Jenkins (4) Tambahkan node Linux dan daftarkan sebagai layanan
https://www.itsvse.com/thread-10120-1-1.html

CentOS 7 menginstal eksportir Node
https://www.itsvse.com/thread-9969-1-1.html

Profil unit

File unit di systemd adalah file yang mengkodekan informasi tentang berbagai unit yang dapat dikelola oleh systemd, termasuk layanan, soket, perangkat, dan sebagainya. Panduan ini berfokus pada layanan, dalam hal ini file unit yang kita kerjakan adalah file .service. File konfigurasi perangkat varnish.service berisi informasi tentang bagaimana systemd harus menjalankan, memantau, dan mengelola daemon varnish.

Blok [Unit] biasanya merupakan blok pertama dari file konfigurasi dan digunakan untuk menentukan metadata Unit dan bagaimana hubungannya dengan Unit lain. Bidang utamanya adalah sebagai berikut.

  • Deskripsi: Deskripsi singkat
  • Dokumentasi: Alamat dokumen
  • Memerlukan: Unit lain yang bergantung pada unit saat ini, dan jika tidak berjalan, unit saat ini akan gagal dimulai
  • Keinginan: Unit lain yang bekerja dengan Unit saat ini, jika tidak berjalan, Unit saat ini tidak akan gagal dimulai
  • BindsTo: Mirip dengan Memerlukan, ini menentukan Unit yang menyebabkan Unit saat ini berhenti berjalan jika keluar
  • Sebelum: Jika Unit yang ditentukan dalam bidang ini juga akan dimulai, itu harus dimulai setelah Unit saat ini
  • Setelah: Jika Unit yang ditentukan dalam bidang ini juga akan dimulai, itu harus dimulai sebelum Unit saat ini
  • Konflik: Unit yang ditentukan di sini tidak dapat berjalan bersamaan dengan unit saat ini
  • Keadaan... : Kondisi yang harus dipenuhi agar unit saat ini dapat berjalan, jika tidak maka tidak akan berjalan
  • Menegaskan... : Kondisi yang harus dipenuhi agar unit saat ini dapat berjalan, jika tidak, kegagalan startup akan dilaporkan

[Install] biasanya merupakan blok terakhir dari file konfigurasi yang menentukan cara boot dan apakah akan booting. Bidang utamanya adalah sebagai berikut.

  • WantedBy: Nilainya adalah satu atau lebih Target, dan ketika Unit saat ini aktif (aktifkan), symlink ditempatkan di subdirektori di bawah direktori /etc/systemd/system dengan akhiran Target nama + .wants
  • RequiredBy: Nilainya adalah satu atau lebih Target, dan ketika Unit saat ini aktif, symlink akan ditempatkan di subdirektori di bawah direktori /etc/systemd/system dengan akhiran Nama Target + .required
  • Alias: Alias yang dapat digunakan Unit saat ini untuk memulai
  • Juga: Saat unit saat ini diaktifkan, unit lain akan diaktifkan secara bersamaan

Blok [Service] digunakan untuk mengonfigurasi Service, dan hanya unit dari jenis Service yang memiliki blok ini. Bidang utamanya adalah sebagai berikut.

  • Jenis: Menentukan perilaku proses saat startup. Ini memiliki nilai-nilai berikut.
  • Type=simple: Nilai default, jalankan perintah yang ditentukan oleh ExecStart untuk memulai proses utama
  • type=forking: Fork membuat proses turunan dari proses induk, yang akan keluar segera setelah pembuatan
  • Type=oneshot: Proses satu kali, Systemd akan menunggu layanan saat ini keluar sebelum melanjutkan eksekusi
  • Type=dbus: Layanan saat ini dimulai melalui D-Bus
  • type=notify: Saat layanan saat ini dimulai, Systemd akan diberi tahu dan melanjutkan eksekusi
  • type=idle: Layanan saat ini hanya akan berjalan jika tugas lain dijalankan
  • ExecStart: Perintah untuk memulai layanan saat ini
  • ExecStartPre: Perintah yang dijalankan sebelum memulai layanan saat ini
  • ExecStartPost: Perintah yang dijalankan setelah memulai layanan saat ini
  • ExecReload: Perintah yang dijalankan saat layanan saat ini dimulai ulang
  • ExecStop: Perintah yang dijalankan saat layanan saat ini dihentikan
  • ExecStopPost: Hentikan perintah yang dijalankan saat ditayangkan
  • RestartSec: Jumlah detik antara layanan otomatis memulai ulang layanan saat ini
  • Mulai ulang: Menentukan keadaan di mana Systemd akan secara otomatis memulai ulang layanan saat ini, dengan kemungkinan nilai seperti selalu, berhasil, gagal, tidak normal, dibatalkan, pengawas
  • TimeoutSec: Menentukan jumlah detik yang ditunggu Systemd sebelum menghentikan layanan saat ini
  • Lingkungan: Tentukan variabel lingkungan

Alat manajemen Systemctl

Manajemen program di CentOS pada dasarnya dilakukan oleh alat systemctl.

Layanan Startup:

systemctl nama awal.service

Hentikan layanan:

systemctl berhenti nama.service

Mulai ulang layanan:

systemctl restart name.service

Lihat Status:

Nama status systemCTL.Service

Mulai ulang bersyarat:

Jika layanan dimulai sebelumnya, layanan akan dimulai ulang, dan jika layanan tidak dimulai, layanan tidak akan dioperasikan

systemctl mencoba-restart nama.service

Muat ulang atau mulai ulang:

Muat ulang terlebih dahulu, dan jika muat ulang tidak berhasil, reboot

systemctl muat ulang atau mulai ulang nama.service

Muat ulang atau mulai ulang bersyarat:

systemctl muat ulang atau-coba-restart nama.service

Mengatur apakah layanan dapat diatur oleh pengguna untuk memulai status

systemctl membuka masker nama.service

SystemCTL Mask Name.Service dilarang

Lihat status aktivasi layanan saat ini:

Nilai pengembalian status dari perintah layanan telah dimulai adalah 0 Nilai pengembalian status dari perintah yang belum dimulai adalah non-0

systemctl is-active name.service

Lihat semua layanan yang telah diaktifkan:

-t Menentukan jenis unit yang ditampilkan.

--all menampilkan daftar informasi yang lebih rinci.

-setara --semua

Satuan-daftar SystemCTL

Layanan SystemCTL List-Units -T

systemctl daftar-unit -t layanan -a

Lihat semua layanan:

Unit-daftar systemctl -a

Lihat semua status layanan:

file daftar-unit systemctl

-a 、--all : Melihat status semua layanan

-t 、--type: Menentukan jenis unit yang akan dilihat

loaded: File konfigurasi telah dimuat, dimuat ke dalam memori

active(running): Eksekusi yang terus diproses satu kali atau beberapa kali

active(exited): Konfigurasi satu kali berhasil diselesaikan

active(waiting): Berjalan, menunggu acara

inactive:不运行

enabled:开机启动

disabled:开机不启动

static:开机不启动,但可被另一个启用的服务激活

Digunakan untuk mencantumkan tingkat operasi mana layanan diaktifkan dan dinonaktifkan

ls /etc/systemd/system/*.wants/sshd.service

systemctl list-unit-files --type target --all

Untuk mengatur layanan agar tidak dimulai:

systemctl menonaktifkan unit nama layanan

Periksa apakah layanan di-boot dan dimulai:

systemctl adalah name.service yang diaktifkan

Lihat dependensi layanan:

systemctl list-dependencies name.service
Daftar Daftar SystemCTL

Layanan beban berat:

systemctl daemon-reload

Matikan prosesnya:

Nama proses pembunuhan systemCTL

Sumber daya:

Login hyperlink terlihat.
Login hyperlink terlihat.
Login hyperlink terlihat.
Login hyperlink terlihat.





Mantan:Linux menguji konektivitas LDAP menggunakan perintah Curl
Depan:Masalah izin upload file vsftp
 Tuan tanah| Diposting pada 11/12/2021 17.35.26 |
[Satuan]Blok biasanya merupakan blok pertama dari file konfigurasi yang mendefinisikan metadata Unit dan bagaimana kaitannya dengan Unit lain. Bidang utamanya adalah sebagai berikut.

Deskripsi: Deskripsi singkat
Dokumentasi: Alamat dokumen
Memerlukan: Unit lain yang bergantung pada unit saat ini, dan jika tidak berjalan, unit saat ini akan gagal dimulai
Keinginan: Unit lain yang bekerja dengan Unit saat ini, jika tidak berjalan, Unit saat ini tidak akan gagal dimulai
BindsTo: Mirip dengan Memerlukan, ini menentukan Unit yang menyebabkan Unit saat ini berhenti berjalan jika keluar
Sebelum: Jika Unit yang ditentukan dalam bidang ini juga akan dimulai, itu harus dimulai setelah Unit saat ini
Setelah: Jika Unit yang ditentukan dalam bidang ini juga akan dimulai, itu harus dimulai sebelum Unit saat ini
Konflik: Unit yang ditentukan di sini tidak dapat berjalan bersamaan dengan unit saat ini
Keadaan... : Kondisi yang harus dipenuhi agar unit saat ini dapat berjalan, jika tidak maka tidak akan berjalan
Menegaskan... : Kondisi yang harus dipenuhi agar unit saat ini dapat berjalan, jika tidak, kegagalan startup akan dilaporkan
[Instal]Biasanya blok terakhir dari file konfigurasi yang menentukan cara boot dan apakah akan booting. Bidang utamanya adalah sebagai berikut.

WantedBy: Nilainya adalah satu atau lebih Target, dan ketika Unit saat ini aktif (aktifkan), symlink ditempatkan di subdirektori di bawah direktori /etc/systemd/system dengan akhiran Target nama + .wants
RequiredBy: Nilainya adalah satu atau lebih Target, dan ketika Unit saat ini aktif, symlink akan ditempatkan di subdirektori di bawah direktori /etc/systemd/system dengan akhiran Nama Target + .required
Alias: Alias yang dapat digunakan Unit saat ini untuk memulai
Juga: Saat unit saat ini diaktifkan, unit lain akan diaktifkan secara bersamaan
[Layanan]Blok digunakan untuk mengonfigurasi layanan, dan hanya unit jenis Service yang memiliki blok ini. Bidang utamanya adalah sebagai berikut.

Jenis: Menentukan perilaku proses saat startup. Ini memiliki nilai-nilai berikut.
Type=simple: Nilai default, jalankan perintah yang ditentukan oleh ExecStart untuk memulai proses utama
type=forking: Fork membuat proses turunan dari proses induk, yang akan keluar segera setelah pembuatan
Type=oneshot: Proses satu kali, Systemd akan menunggu layanan saat ini keluar sebelum melanjutkan eksekusi
Type=dbus: Layanan saat ini dimulai melalui D-Bus
type=notify: Saat layanan saat ini dimulai, Systemd akan diberi tahu dan melanjutkan eksekusi
type=idle: Layanan saat ini hanya akan berjalan jika tugas lain dijalankan
ExecStart: Perintah untuk memulai layanan saat ini
ExecStartPre: Perintah yang dijalankan sebelum memulai layanan saat ini
ExecStartPost: Perintah yang dijalankan setelah memulai layanan saat ini
ExecReload: Perintah yang dijalankan saat layanan saat ini dimulai ulang
ExecStop: Perintah yang dijalankan saat layanan saat ini dihentikan
ExecStopPost: Hentikan perintah yang dijalankan saat ditayangkan
RestartSec: Jumlah detik antara layanan otomatis memulai ulang layanan saat ini
Mulai ulang: Menentukan keadaan di mana Systemd akan secara otomatis memulai ulang layanan saat ini, dengan kemungkinan nilai seperti selalu, berhasil, gagal, tidak normal, dibatalkan, pengawas
TimeoutSec: Menentukan jumlah detik yang ditunggu Systemd sebelum menghentikan layanan saat ini
Lingkungan: Tentukan variabel lingkungan


 Tuan tanah| Diposting pada 11/12/2021 17.37.33 |
Jenis=bercabang
systemd berpikir bahwa layanan berhasil dimulai ketika proses layanan dicabang dan proses induk keluar. Untuk daemon biasa, kecuali Anda yakin bahwa metode startup ini tidak memenuhi kebutuhan Anda, Anda dapat memulai dengan jenis ini. Dengan jenis startup ini, PIDFile= juga harus ditentukan sehingga systemd dapat melacak proses utama layanan

 Tuan tanah| Diposting pada 15/12/2021 16.55.14 |
Perintah EnvironmentFile

EnvironmentFile mirip dengan direktif Environment, tetapi membaca variabel lingkungan dari file teks. File teks harus berisi penetapan variabel yang dipisahkan oleh jeda baris

contoh

Anda dapat mengambil file lingkungan ini dan menggunakan variabelnya sebagai berikut:



 Tuan tanah| Diposting pada 04/01/2022 15.56.55 |
 Tuan tanah| Diposting pada 05/01/2022 09.48.21 |
Jalur file layanan default docker /usr/lib/systemd/system/docker.service

 Tuan tanah| Diposting pada 23/01/2022 22.57.56 |
Lihat semua status layanan



Tanyakan apakah layanan diaktifkan, menggunakan NFS sebagai contoh:

 Tuan tanah| Diposting pada 25/02/2025 17.01.08 |
Layanan mulai massal yang dimulai dengan ABC

 Tuan tanah| Diposting pada 11/04/2025 15.57.14 |
DefaultTimeoutStartSec= dan DefaultTimeoutStopSec= default ke 90 detik di Pengelola Sistem dan 90 detik di Pengelola Pengguna.

Login hyperlink terlihat.

Lihat konfigurasi layanan yang ditentukan dengan perintah berikut:


Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com