github.com/ehazlett/containerd@v0.2.5/supervisor/signal.go (about) 1 package supervisor 2 3 import "os" 4 5 // SignalTask holds needed parameters to signal a container 6 type SignalTask struct { 7 baseTask 8 ID string 9 PID string 10 Signal os.Signal 11 } 12 13 func (s *Supervisor) signal(t *SignalTask) error { 14 i, ok := s.containers[t.ID] 15 if !ok { 16 return ErrContainerNotFound 17 } 18 processes, err := i.container.Processes() 19 if err != nil { 20 return err 21 } 22 for _, p := range processes { 23 if p.ID() == t.PID { 24 return p.Signal(t.Signal) 25 } 26 } 27 return ErrProcessNotFound 28 }