OnWorks Linux dan Windows Online Workstations

logo

Pengehosan Dalam Talian Percuma untuk Workstation

<Sebelum | Contents [show] | Seterusnya>

5.4. Menguruskan Perkhidmatan


Kali menggunakan sistem sebagai sistem initnya, yang bukan sahaja bertanggungjawab untuk jujukan but, tetapi juga bertindak secara kekal sebagai pengurus perkhidmatan berciri penuh, perkhidmatan permulaan dan pemantauan.

sistem boleh ditanya dan dikawal dengan systemctl. Tanpa sebarang hujah, ia menjalankan unit senarai systemctl arahan, yang mengeluarkan senarai aktif unit. Sekiranya anda berlari status systemctl, output menunjukkan gambaran keseluruhan hierarki perkhidmatan yang sedang dijalankan. Membandingkan kedua-dua keluaran, anda dengan serta-merta melihat bahawa terdapat pelbagai jenis unit dan perkhidmatan hanya satu di antaranya.

Setiap perkhidmatan diwakili oleh a unit perkhidmatan, yang diterangkan oleh fail perkhidmatan yang biasanya dihantar

/lib/systemd/system/ (atau /run/systemd/system/, atau /etc/systemd/system/; mereka disenaraikan mengikut urutan kepentingan yang semakin meningkat, dan yang terakhir menang). Setiap satu mungkin diubah suai oleh yang lain nama perkhidmatanFail .service.d/*.conf dalam set direktori yang sama. Fail unit tersebut ialah fail teks biasa yang formatnya diilhamkan oleh fail “*.ini” terkenal Microsoft Windows, dengan utama

= nilai pasangan dikumpulkan antara [seksyen] tajuk. Di sini kita melihat fail perkhidmatan sampel untuk /lib/ systemd/system/ssh.service:


[Unit]

Penerangan=Pelayan OpenBSD Secure Shell After=network.target auditd.service ConditionPathExists=!/etc/ssh/sshd_not_to_be_run


[Perkhidmatan]

EnvironmentFile=-/etc/default/ssh ExecStart=/usr/sbin/sshd -D $SSHD_OPTS ExecReload=/bin/kill -HUP $MAINPID KillMode=proses

Mulakan semula=pada-gagal RestartPreventExitStatus=255 Type=notify


[Pasang]

WantedBy=multi-user.target Alias=sshd.service

[Unit]

Penerangan=Pelayan OpenBSD Secure Shell After=network.target auditd.service ConditionPathExists=!/etc/ssh/sshd_not_to_be_run


[Perkhidmatan]

EnvironmentFile=-/etc/default/ssh ExecStart=/usr/sbin/sshd -D $SSHD_OPTS ExecReload=/bin/kill -HUP $MAINPID KillMode=proses

Mulakan semula=pada-gagal RestartPreventExitStatus=255 Type=notify


[Pasang]

WantedBy=multi-user.target Alias=sshd.service


Unit sasaran adalah bahagian lain dalam reka bentuk systemd. Ia mewakili keadaan yang diingini yang ingin anda capai dari segi unit yang diaktifkan (yang bermaksud perkhidmatan berjalan dalam kes unit perkhidmatan). Ia wujud terutamanya sebagai cara untuk mengumpulkan kebergantungan pada unit lain. Apabila sistem bermula, ia membolehkan unit yang diperlukan untuk mencapai lalai.sasaran (yang merupakan symlink kepada grafik.sasaran, dan yang seterusnya bergantung pada berbilang pengguna.sasaran). Jadi semua kebergantungan sasaran tersebut akan diaktifkan semasa but.

Kebergantungan sedemikian dinyatakan dengan Ingin arahan pada unit sasaran. Tetapi anda tidak perlu mengedit unit sasaran untuk menambah kebergantungan baharu, anda juga boleh membuat pautan sym yang menunjuk ke

unit bergantung dalam / etc / systemd / system /nama sasaran.target.wants/ direktori. Dan inilah yang sebenarnya sistemctl membolehkan foo.service tidak. Apabila anda mendayakan perkhidmatan, anda memberitahu systemd untuk menambah kebergantungan pada sasaran yang disenaraikan dalam WantedBy kemasukan daripada [Pasang] bahagian fail unit perkhidmatan. Sebaliknya, disable systemctl foo.service menjatuhkan symlink yang sama dan dengan itu kebergantungan.

. membolehkan and melumpuhkan arahan tidak mengubah apa-apa mengenai status semasa perkhidmatan. Mereka hanya mempengaruhi apa yang akan berlaku pada but seterusnya. Jika anda ingin menjalankan perkhidmatan dengan segera, anda harus melaksanakan systemctl mula foo.service. Sebaliknya, anda boleh menghentikannya dengan systemctl berhenti foo.service. Anda juga boleh memeriksa status semasa perkhidmatan dengan status systemctl foo.service, yang berguna termasuk baris terkini log yang berkaitan. Selepas menukar konfigurasi perkhidmatan, anda mungkin ingin memuatkan semula atau memulakannya semula: operasi tersebut telah selesai muat semula systemctl foo.service and systemctl mulakan semula foo. perkhidmatan masing-masing.


gambar

# postgresql status sistemctl

● postgresql.service - PostgreSQL RDBMS

Dimuatkan: dimuatkan (/lib/systemd/system/postgresql.service; dilumpuhkan; pratetap vendor:

kurang upaya)

Aktif: tidak aktif (mati)

# ls -al /etc/systemd/system/multi-user.target.wants/postgresql.service

ls: tidak boleh mengakses '/etc/systemd/system/multi-user.target.wants/postgresql.service': Tidak

fail atau direktori tersebut

# systemctl enabled postgresql

[...]

# ls -al /etc/systemd/system/multi-user.target.wants/postgresql.service

lrwxrwxrwx 1 akar akar 38 Apr 21 16:21 /etc/systemd/system/multi-user.target.wants/

postgresql.service -> /lib/systemd/system/postgresql.service

# postgresql status sistemctl

● postgresql.service - PostgreSQL RDBMS

Dimuatkan: dimuatkan (/lib/systemd/system/postgresql.service; didayakan; pratetap vendor:

kurang upaya)

Aktif: tidak aktif (mati)

# systemctl start postgresql

# postgresql status sistemctl

● postgresql.service - PostgreSQL RDBMS

Dimuatkan: dimuatkan (/lib/systemd/system/postgresql.service; didayakan; pratetap vendor:

kurang upaya)

Aktif: aktif (keluar) sejak Kha 2016-04-21 16:22:29 EDT; 2s yang lalu Proses: 6355 ExecStart=/bin/true (kod=keluar, status=0/SUCCESS)

PID utama: 6355 (kod=keluar, status=0/BERJAYA)


Apr 21 16:22:29 kali-rolling systemd[1]: Memulakan PostgreSQL RDBMS... Apr 21 16:22:29 kali-rolling systemd[1]: Memulakan PostgreSQL RDBMS.

Pengkomputeran Awan OS teratas di OnWorks: