'Send the given signal C{signalID} to the process. It\'ll translate a
few signals (\'HUP\', \'STOP\', \'INT\', \'KILL\', \'TERM\') from a string
representation to its int value, otherwise it\'ll pass directly the
value provided
@type signalID: C{str} or C{int}'

def signalProcess(self, signalID):

    if (signalID in ('HUP', 'STOP', 'INT', 'KILL', 'TERM')):
        signalID = getattr(signal, ('SIG%s' % (signalID,)))
    if (self.pid is None):
        raise ProcessExitedAlready()
    try:
        os.kill(self.pid, signalID)
    except OSError as e:
        if (e.errno == errno.ESRCH):
            raise ProcessExitedAlready()
        else:
            raise
