Apabila melahirkan proses anak daripada proses utama, adalah penting untuk memastikan proses anak kekal aktif walaupun proses utama sedang ditamatkan. Tingkah laku ini amat diingini apabila mengurus tugas latar belakang yang berjalan lama.
Dalam senario khusus anda, anda ingin mengalihkan proses anak daripada proses utama (eksekusi) apabila ia dimulakan daripada pengurus perkhidmatan systemd. Walau bagaimanapun, anda telah memerhatikan bahawa proses anak ditamatkan bersama-sama dengan proses utama.
Penyelesaian terletak pada mengubah suai fail konfigurasi systemd (/etc/systemd/system/exectest.service) untuk memasukkan baris berikut:
KillMode=process
Secara lalai, systemd menggunakan mod pembunuhan "kumpulan kawalan", yang menamatkan semua proses anak dalam kumpulan kawalan proses utama apabila penamatan. Dengan menukarnya kepada "memproses", anda mengarahkan systemd untuk mematikan proses utama itu sendiri, membiarkan proses kanak-kanak tidak disentuh.
Pengubahsuaian ini memastikan proses kanak-kanak terus melaksanakan dan bertahan selepas penamatan atau permulaan semula yang utama proses, walaupun ia dimulakan daripada systemd.
Atas ialah kandungan terperinci Bagaimana untuk Mencegah Systemd daripada Membunuh Proses Kanak-Kanak Apabila Proses Utama Keluar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!