Untuk memisahkan proses yang dibuat menggunakan StartProcess() daripada induknya (dalam kes ini, gesaan baris arahan), seseorang boleh memanfaatkan pilihan pemaut -Hwindowsgui yang disediakan oleh rantai alat Go.
Kod Go yang disediakan cuba untuk mencipta proses yang dipisahkan menggunakan StartProcess(), dengan konfigurasi berikut:
<code class="go">var procAttr os.ProcAttr procAttr.Files = []*os.File{nil, nil, nil}</code>
Semasa menambah procAttr.Sys.HideWindow = true bertujuan untuk menyembunyikan tetingkap yang dikaitkan dengan proses, ia membawa kepada ralat "panik" kepada penunjuk memori yang salah.
The penyelesaian yang betul ialah menggunakan pilihan pemaut -Hwindowsgui apabila menyusun atur cara Go. Pilihan ini melumpuhkan penciptaan tetingkap konsol untuk proses semasa pelaksanaan:
go tool 8l -o output.exe -Hwindowsgui input.8
Dengan menggunakan pilihan pemaut -Hwindowsgui, proses dibuat tanpa tetingkap konsol, dengan berkesan menyahgandingannya daripada gesaan arahan. Ini membolehkan proses berjalan di latar belakang bebas daripada proses induk.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menanggalkan proses Go daripada induknya dalam Windows menggunakan `StartProcess()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!