github.com/secure-build/gitlab-runner@v12.5.0+incompatible/executors/custom/process/killer_windows.go (about) 1 package process 2 3 import ( 4 "os" 5 6 "gitlab.com/gitlab-org/gitlab-runner/common" 7 ) 8 9 type windowsKiller struct { 10 logger common.BuildLogger 11 process *os.Process 12 } 13 14 func NewKiller(logger common.BuildLogger, process *os.Process) Killer { 15 return &windowsKiller{ 16 logger: logger, 17 process: process, 18 } 19 } 20 21 func (pk *windowsKiller) Terminate() { 22 err := pk.process.Kill() 23 if err != nil { 24 pk.logger.Errorln("Failed to terminate:", err) 25 26 pk.ForceKill() 27 } 28 } 29 30 func (pk *windowsKiller) ForceKill() { 31 err := pk.process.Kill() 32 if err != nil { 33 pk.logger.Errorln("Failed to force-kill:", err) 34 } 35 }