':param args: the list of strings used as commands.
:type args: variadic function args'

def subprocess(self, *command_list, **kwargs):

    try:
        popen = subprocess.Popen(command_list, stderr=subprocess.PIPE, stdout=subprocess.PIPE)
        log.info(('opened    subrocess    (%s),    PID:    %s' % (str(command_list), str(popen.pid))))
    except OSError as os_err:
        command_str = '    '.join(self.command)
        raise OSError('    '.join([str(os_err), ':', command_str]))
    return popen
