Pour détacher un processus créé à l'aide de StartProcess() de son parent (dans ce cas, une invite de ligne de commande), on peut exploiter l'option de liaison -Hwindowsgui fournie par la chaîne d'outils Go.
Le code Go fourni tente de créer un processus découplé à l'aide de StartProcess(), avec la configuration suivante :
<code class="go">var procAttr os.ProcAttr procAttr.Files = []*os.File{nil, nil, nil}</code>
Lorsque l'ajout de procAttr.Sys.HideWindow = true vise à masquer la fenêtre associée au processus, cela conduit à l'erreur "panique" vers un mauvais pointeur de mémoire.
Le la bonne solution consiste à utiliser l'option de l'éditeur de liens -Hwindowsgui lors de la compilation du programme Go. Cette option désactive la création d'une fenêtre de console pour le processus lors de l'exécution :
go tool 8l -o output.exe -Hwindowsgui input.8
En appelant l'option de l'éditeur de liens -Hwindowsgui, le processus est créé sans fenêtre de console, le dissociant ainsi de l'invite de commande. Cela permet au processus de s'exécuter en arrière-plan indépendamment du processus parent.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!