()
| 292 | } |
| 293 | |
| 294 | func (sm *ServiceManager) forceKillAll() { |
| 295 | sm.Mu.RLock() |
| 296 | defer sm.Mu.RUnlock() |
| 297 | |
| 298 | for name, service := range sm.Services { |
| 299 | if service.CMD != nil && service.CMD.Process != nil { |
| 300 | log.Printf("Forcing to stop: %s (PID: %d)", name, service.PID) |
| 301 | KillProcess(service.PID) |
| 302 | } |
| 303 | } |
| 304 | } |
| 305 | |
| 306 | func (sm *ServiceManager) GetServiceStatus(name string) (ServiceStatus, error) { |
| 307 | sm.Mu.RLock() |