protected function process()
    {
        $output = "";
        $offset = 0;
        $this->shell->_initShell();
        while( true ) {
            $temp = $this->shell->_get_channel_packet(SSH2::CHANNEL_EXEC);
            switch( true ) {
                case $temp === true:
                case $temp === false:
                    return $output;
                default:
                    $output .= $temp;
                    if( $this->handle_data(substr($output, $offset)) ) {
                        $offset = strlen($output);
                    }
            }
        }
    }