diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go index ae5d4fb46b4..d7f0c450781 100644 --- a/libcontainer/container_linux.go +++ b/libcontainer/container_linux.go @@ -371,6 +371,11 @@ func (c *Container) Signal(s os.Signal) error { // To avoid a PID reuse attack, don't kill non-running container. switch status { case Running, Created, Paused: + case Stopped: + // if PID namespace is shared, we should send signal to other processes. + if !c.cgroupManager.Exists() { + return nil + } default: return ErrNotRunning }