go
system_error
ai_generated
true
error: signal: killed
ID: go/os-exec-command-killed
80%Fix Rate
84%Confidence
0Evidence
2024-03-15First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| 1.20 | active | — | — | — |
| 1.21 | active | — | — | — |
Root Cause
The executed command was terminated by an operating system signal, typically SIGKILL, due to resource limits or manual intervention.
generic中文
执行的命令被操作系统信号终止,通常为SIGKILL,由于资源限制或手动干预。
Workarounds
-
85% success Use exec.Cmd with SysProcAttr to set process group and handle signals
cmd := exec.Command("command") cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true} if err := cmd.Run(); err != nil { if exitErr, ok := err.(*exec.ExitError); ok { if status, ok := exitErr.Sys().(syscall.WaitStatus); ok { if status.Signaled() { /* handle signal */ } } } }
Dead Ends
Common approaches that don't work:
-
Restarting the command without investigating
70% fail
May be killed again due to same resource issue; check OOM killer or ulimit.