'Send a string of chars to the stdin of the process name.
If non-7-bit data is sent (unicode), it is encoded to utf-8
before being sent to the process\' stdin.  If chars is not a
string or is not unicode, raise INCORRECT_PARAMETERS.  If the
process is not running, raise NOT_RUNNING.  If the process\'
stdin cannot accept input (e.g. it was closed by the child
process), raise NO_FILE.
@param string name        The process name to send to (or \'group:name\')
@param string chars       The character data to send to the process
@return boolean result    Always return True unless error'

def sendProcessStdin(self, name, chars):

    self._update('sendProcessStdin')
    if (not isinstance(chars, (str, bytes, unicode))):
        raise RPCError(Faults.INCORRECT_PARAMETERS, chars)
    chars = as_bytes(chars)
    (group, process) = self._getGroupAndProcess(name)
    if (process is None):
        raise RPCError(Faults.BAD_NAME, name)
    if ((not process.pid) or process.killing):
        raise RPCError(Faults.NOT_RUNNING, name)
    try:
        process.write(chars)
    except OSError as why:
        if (why.args[0] == errno.EPIPE):
            raise RPCError(Faults.NO_FILE, name)
        else:
            raise
    return True
