J’ai une application avec golang comme backend. Je peux créer un service en utilisant les commandes sc et nssm ci-dessous: sc create TestService binpath=C:\User\sds\Desktop\test.exe nssm install TestService C:\User\sds\Desktop\test.exe
Les services sont créés avec succès mais ils ne sont pas lancés. Il génère une erreur de délai de démarrage au démarrage du service.
Je dois démarrer l’application à partir des services Windows.
Merci d’avance.
Go a une bibliothèque pour créer des services dans Windows. Veuillez consulter cette bibliothèque github.com/kardianos/service .
package main import ( "log" "github.com/kardianos/service" ) var logger service.Logger type program struct{} func (p *program) Start(s service.Service) error { // Start should not block. Do the actual work async. go p.run() return nil } func (p *program) run() { // Do work here } func (p *program) Stop(s service.Service) error { // Stop should not block. Return with a few seconds. return nil } func main() { svcConfig := &service.Config{ Name: "GoServiceExampleSimple", DisplayName: "Go Service Example", Description: "This is an example Go service.", } prg := &program{} s, err := service.New(prg, svcConfig) if err != nil { log.Fatal(err) } logger, err = s.Logger(nil) if err != nil { log.Fatal(err) } err = s.Run() if err != nil { logger.Error(err) } }