'Send an arbitrary UNIX signal to the process named by name
@param string name    Name of the process to signal (or \'group:name\')
@param string signal  Signal to send, as name (\'HUP\') or number (\'1\')
@return boolean'

def signalProcess(self, name, signal):

    self._update('signalProcess')
    (group, process) = self._getGroupAndProcess(name)
    if (process is None):
        (group_name, process_name) = split_namespec(name)
        return self.signalProcessGroup(group_name, signal=signal)
    try:
        sig = signal_number(signal)
    except ValueError:
        raise RPCError(Faults.BAD_SIGNAL, signal)
    if (process.get_state() not in RUNNING_STATES):
        raise RPCError(Faults.NOT_RUNNING, name)
    msg = process.signal(sig)
    if (not (msg is None)):
        raise RPCError(Faults.FAILED, msg)
    return True
