Jalankan Perintah di Golang dan Tanggalkannya daripada Proses
Masalah ini timbul apabila anda perlu melaksanakan proses yang berjalan lama di Golang, dengan keperluan khusus seperti:
Penyelesaian percubaan anda menggunakan Cmd.Start() dan Cmd.Wait() memenuhi kebanyakan keperluan ini kecuali untuk menghalang proses asas daripada ranap apabila anda menghantar SIGTERM/SIGKILL ke program anda.
Penyelesaian
Daripada cuba mencipta semula roda, pertimbangkan untuk menggunakan salah satu daripada perpustakaan berikut:
Perpustakaan Go-reap
Penyelesaian yang disyorkan ialah menggunakan perpustakaan https://github.com/hashicorp/go-reap.
Nota
Penafian
Penyelesaian yang disediakan memfokuskan pada menangani isu menghalang sub-proses daripada menjadi zombi. Untuk penyelesaian lengkap yang memenuhi semua keperluan, gabungan pendekatan mungkin diperlukan.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Proses Lama di Golang dan Mengelakkannya Daripada Menjadi Zombi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!