Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Memastikan Proses Anak Berjalan Selepas Proses Induk Terurus Systemd Keluar?
Tidak Dapat Tanggalkan Proses Anak apabila Proses Utama Dimulakan dari Systemd
Apabila menjalankan proses utama yang melahirkan proses anak, adalah wajar untuk minta proses anak bertahan walaupun proses utama dimulakan semula atau mati. Tingkah laku ini berfungsi seperti yang diharapkan apabila menjalankan proses utama dari terminal, seperti yang ditunjukkan dalam contoh yang disediakan dengan program yang paling berkesan.
Walau bagaimanapun, apabila proses utama dimulakan melalui Systemd menggunakan fail perkhidmatan, proses anak akan melakukannya tidak bertahan melebihi jangka hayat proses utama. Ini berlaku kerana Systemd mengurus proses dalam kumpulan kawalan dan secara lalai, ia membersihkan mana-mana proses anak apabila proses induk ditamatkan.
Untuk menyelesaikan isu ini, tetapan KillMode dalam definisi perkhidmatan Systemd boleh diubah suai. Secara lalai, KillMode ditetapkan kepada kumpulan kawalan, tetapi mengubahnya kepada proses akan memastikan bahawa hanya proses utama dimatikan, membolehkan proses anaknya terus berjalan.
Fail perkhidmatan yang dikemas kini akan termasuk baris berikut:
KillMode=process
Dengan tetapan ini disediakan, proses kanak-kanak eksektest akan bertahan walaupun proses utama dimatikan atau dimulakan semula melalui Systemd.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memastikan Proses Anak Berjalan Selepas Proses Induk Terurus Systemd Keluar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!