code: func ParseSignal(rawSignal string) (syscall.Signal, error) {
  	s, err := strconv.Atoi(rawSignal)
  	if err == nil {
  		if s == 0 {
  			return -1, fmt.Errorf("Invalid signal: %s", rawSignal)
  		}
  		return syscall.Signal(s), nil
  	}
  	signal, ok := SignalMap[strings.TrimPrefix(strings.ToUpper(rawSignal), "SIG")]
  	if !ok {
  		return -1, fmt.Errorf("Invalid signal: %s", rawSignal)
  	}
  	return signal, nil
  }
docs: // ParseSignal translates a string to a valid syscall signal.
  // It returns an error if the signal map doesn't include the given signal.