Hi,

I find that the following message was rejected by spamassassin.org at 
sourceforge.net.  It seems spamassassin hates html code.
Anyway, I'll forward it to this ML

From: Adriano Demetrio <[email protected]>
To: "[email protected]" <[email protected]>
Date: Fri, 26 Mar 2010 16:37:38 -0300
Subject: Send CTRL+C
Thread-Topic: Send CTRL+C
Thread-Index: AcrNG8qUPepLCMN+RnqfPZ6Vs7ANYg==
Message-ID: 
<63f3f610c3855e428dcba7757307ea5c62c69fc...@srvsj101.raizsolucoes.com.br>
Accept-Language: pt-BR
Content-Language: pt-BR
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: pt-BR
Content-Type: multipart/alternative;
        boundary="_000_63F3F610C3855E428DCBA7757307EA5C62C69FCC0Csrvsj101raizs_"
MIME-Version: 1.0
X-Spam-Score: 1.0 (+)
X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
        See http://spamassassin.org/tag/ for more details.
        1.0 HTML_MESSAGE           BODY: HTML included in message
X-Headers-End: 1NvFbC-0008EF-Qx

--_000_63F3F610C3855E428DCBA7757307EA5C62C69FCC0Csrvsj101raizs_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi!

How can I send a CTRL+C to a open channel?

My code is:
public String tail(String file, String... stopRegexps) throws Exception {
        ChannelExec channel =3D (ChannelExec) session.openChannel(EXEC);
        channel.setCommand("tail -f " + file);
        channel.setInputStream(null);
        channel.setErrStream(null);
        InputStream in =3D channel.getInputStream();
        InputStream inErr =3D channel.getErrStream();
        channel.connect(3000);

        StringBuilder retorno =3D new StringBuilder();
        byte[] tmp =3D new byte[1024];
        while (true) {
            while (in.available() > 0) {
                int i =3D in.read(tmp, 0, 1024);
                if (i < 0)
                    break;
                retorno.append(new String(tmp, 0, i));
                for (String stopRegexp : stopRegexps) {
                    if (StringUtils.contains(retorno.toString(), stopRegexp=
)) {
// Here I want to send CTRL+C to kill tail
                        channel.disconnect();
                        return retorno.toString();
                    }
                }
            }
            if (channel.isClosed()) {
                break;
            }
            try {
                Thread.sleep(1000);
            } catch (Exception ee) {}
        }

        retorno.append(readInputStream(channel, in));
        if (channel.isClosed() && channel.getExitStatus() > 0) {
            retorno.append(readInputStream(channel, inErr));
            UtilExcecao.lancarRuntimeException(retorno.toString());
        }
        channel.disconnect();
        return retorno.toString();
    }

Thanks,

Adriano

--_000_63F3F610C3855E428DCBA7757307EA5C62C69FCC0Csrvsj101raizs_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:x=3D"urn:schemas-microsoft-com:office:excel" xmlns:p=3D"urn:schemas-m=
icrosoft-com:office:powerpoint" xmlns:a=3D"urn:schemas-microsoft-com:office=
:access" xmlns:dt=3D"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s=3D"=
uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs=3D"urn:schemas-microsof=
t-com:rowset" xmlns:z=3D"#RowsetSchema" xmlns:b=3D"urn:schemas-microsoft-co=
m:office:publisher" xmlns:ss=3D"urn:schemas-microsoft-com:office:spreadshee=
t" xmlns:c=3D"urn:schemas-microsoft-com:office:component:spreadsheet" xmlns=
:odc=3D"urn:schemas-microsoft-com:office:odc" xmlns:oa=3D"urn:schemas-micro=
soft-com:office:activation" xmlns:html=3D"http://www.w3.org/TR/REC-html40"; =
xmlns:q=3D"http://schemas.xmlsoap.org/soap/envelope/"; xmlns:rtc=3D"http://m=
icrosoft.com/officenet/conferencing" xmlns:D=3D"DAV:" xmlns:Repl=3D"http://=
schemas.microsoft.com/repl/" xmlns:mt=3D"http://schemas.microsoft.com/share=
point/soap/meetings/" xmlns:x2=3D"http://schemas.microsoft.com/office/excel=
/2003/xml" xmlns:ppda=3D"http://www.passport.com/NameSpace.xsd"; xmlns:ois=
=3D"http://schemas.microsoft.com/sharepoint/soap/ois/"; xmlns:dir=3D"http://=
schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds=3D"http://www.w3=
.org/2000/09/xmldsig#" xmlns:dsp=3D"http://schemas.microsoft.com/sharepoint=
/dsp" xmlns:udc=3D"http://schemas.microsoft.com/data/udc"; xmlns:xsd=3D"http=
://www.w3.org/2001/XMLSchema" xmlns:sub=3D"http://schemas.microsoft.com/sha=
repoint/soap/2002/1/alerts/" xmlns:ec=3D"http://www.w3.org/2001/04/xmlenc#"=
 xmlns:sp=3D"http://schemas.microsoft.com/sharepoint/"; xmlns:sps=3D"http://=
schemas.microsoft.com/sharepoint/soap/" xmlns:xsi=3D"http://www.w3.org/2001=
/XMLSchema-instance" xmlns:udcs=3D"http://schemas.microsoft.com/data/udc/so=
ap" xmlns:udcxf=3D"http://schemas.microsoft.com/data/udc/xmlfile"; xmlns:udc=
p2p=3D"http://schemas.microsoft.com/data/udc/parttopart"; xmlns:wf=3D"http:/=
/schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss=3D"http://sche=
mas.microsoft.com/office/2006/digsig-setup" xmlns:dssi=3D"http://schemas.mi=
crosoft.com/office/2006/digsig" xmlns:mdssi=3D"http://schemas.openxmlformat=
s.org/package/2006/digital-signature" xmlns:mver=3D"http://schemas.openxmlf=
ormats.org/markup-compatibility/2006" xmlns:m=3D"http://schemas.microsoft.c=
om/office/2004/12/omml" xmlns:mrels=3D"http://schemas.openxmlformats.org/pa=
ckage/2006/relationships" xmlns:spwp=3D"http://microsoft.com/sharepoint/web=
partpages" xmlns:ex12t=3D"http://schemas.microsoft.com/exchange/services/20=
06/types" xmlns:ex12m=3D"http://schemas.microsoft.com/exchange/services/200=
6/messages" xmlns:pptsl=3D"http://schemas.microsoft.com/sharepoint/soap/Sli=
deLibrary/" xmlns:spsl=3D"http://microsoft.com/webservices/SharePointPortal=
Server/PublishedLinksService" xmlns:Z=3D"urn:schemas-microsoft-com:" xmlns:=
st=3D"&#1;" xmlns=3D"http://www.w3.org/TR/REC-html40";>

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EstiloDeEmail17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DPT-BR link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal>Hi!<o:p></o:p></p>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal><span lang=3DEN-US>How can I send a CTRL+C to a open c=
hannel?<o:p></o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US>My code is:<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><b><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</=
span></b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:blac=
k'>
String tail(String file, String... stopRegexps) </span><b><span lang=3DEN-U=
S
style=3D'font-size:10.0pt;font-family:"Courier New";color:#7F0055'>throws</=
span></b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:blac=
k'> Exception
{</span><span lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier N=
ew"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ChannelExec channel =3D (ChannelExec) </span><span lang=3DEN-US style=3D'fo=
nt-size:
10.0pt;font-family:"Courier New";color:#0000C0'>session</span><span lang=3D=
EN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>.openChann=
el(</span><i><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:#000=
0C0'>EXEC</span></i><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:blac=
k'>);</span><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:=
p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
channel.setCommand(</span><span lang=3DEN-US style=3D'font-size:10.0pt;font=
-family:
"Courier New";color:#2A00FF'>&quot;tail -f &quot;</span><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> + file);<=
/span><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:=
p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
channel.setInputStream(</span><b><span lang=3DEN-US style=3D'font-size:10.0=
pt;
font-family:"Courier New";color:#7F0055'>null</span></b><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>);</span><=
span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:=
p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
channel.setErrStream(</span><b><span lang=3DEN-US style=3D'font-size:10.0pt=
;
font-family:"Courier New";color:#7F0055'>null</span></b><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>);</span><=
span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:=
p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
InputStream in =3D channel.getInputStream();</span><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
InputStream inErr =3D channel.getErrStream();</span><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
channel.connect(3000);</span><span lang=3DEN-US style=3D'font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></spa=
n></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
StringBuilder retorno =3D </span><b><span lang=3DEN-US style=3D'font-size:1=
0.0pt;
font-family:"Courier New";color:#7F0055'>new</span></b><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>
StringBuilder();</span><span lang=3DEN-US style=3D'font-size:10.0pt;font-fa=
mily:
"Courier New"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:#7F0=
055'>byte</span></b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:blac=
k'>[]
tmp =3D </span><b><span lang=3DEN-US style=3D'font-size:10.0pt;font-family:=
"Courier New";
color:#7F0055'>new</span></b><span lang=3DEN-US style=3D'font-size:10.0pt;
font-family:"Courier New";color:black'> </span><b><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:#7F0055'>byte</sp=
an></b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:blac=
k'>[1024];</span><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:=
p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:#7F0=
055'>while</span></b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:blac=
k'> (</span><b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:#7F0=
055'>true</span></b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:blac=
k'>) {</span><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:=
p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:#7F0=
055'>while</span></b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:blac=
k'>
(in.available() &gt; 0) {</span><span lang=3DEN-US style=3D'font-size:10.0p=
t;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:#7F0=
055'>int</span></b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:blac=
k'> i =3D
in.read(tmp, 0, 1024);</span><span lang=3DEN-US style=3D'font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:#7F0=
055'>if</span></b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:blac=
k'> (i
&lt; 0)</span><span lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Cou=
rier New"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><b><span lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier=
 New";
color:#7F0055'>break</span></b><span lang=3DEN-US style=3D'font-size:10.0pt=
;
font-family:"Courier New";color:black'>;</span><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;
retorno.append(</span><b><span lang=3DEN-US style=3D'font-size:10.0pt;font-=
family:
"Courier New";color:#7F0055'>new</span></b><span lang=3DEN-US style=3D'font=
-size:
10.0pt;font-family:"Courier New";color:black'> String(tmp, 0, i));</span><s=
pan
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:=
p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:#7F0=
055'>for</span></b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:blac=
k'>
(String stopRegexp : stopRegexps) {</span><span lang=3DEN-US style=3D'font-=
size:
10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><b><span lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier=
 New";
color:#7F0055'>if</span></b><span lang=3DEN-US style=3D'font-size:10.0pt;
font-family:"Courier New";color:black'> (StringUtils.<i>contains</i>(retorn=
o.toString(),
stopRegexp)) {</span><span lang=3DEN-US style=3D'font-size:10.0pt;font-fami=
ly:"Courier New"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><b><span lang=3DEN-US
style=3D'font-size:20.0pt;font-family:"Courier New";color:red'>// Here I wa=
nt to
send CTRL+C to kill tail<o:p></o:p></span></b></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
channel.disconnect();</span><span lang=3DEN-US style=3D'font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><b><span lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier=
 New";
color:#7F0055'>return</span></b><span lang=3DEN-US style=3D'font-size:10.0p=
t;
font-family:"Courier New";color:black'> retorno.toString();</span><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:=
p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span><span lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier N=
ew"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;
}</span><span lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier N=
ew"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:=
p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:#7F0=
055'>if</span></b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:blac=
k'>
(channel.isClosed()) {</span><span lang=3DEN-US style=3D'font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:#7F0=
055'>break</span></b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:blac=
k'>;</span><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:=
p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:=
p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:#7F0=
055'>try</span></b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:blac=
k'> {</span><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:=
p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;
Thread.<i>sleep</i>(1000);</span><span lang=3DEN-US style=3D'font-size:10.0=
pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } </span><b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:#7F0=
055'>catch</span></b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:blac=
k'>
(Exception ee) {}</span><span lang=3DEN-US style=3D'font-size:10.0pt;font-f=
amily:
"Courier New"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:=
p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></spa=
n></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
retorno.append(readInputStream(channel, in));</span><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:#7F0=
055'>if</span></b><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New";color:blac=
k'>
(channel.isClosed() &amp;&amp; channel.getExitStatus() &gt; 0) {</span><spa=
n
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:=
p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
retorno.append(readInputStream(channel, inErr));</span><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
UtilExcecao.<i>lancarRuntimeException</i>(retorno.toString());</span><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:=
p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><span
lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p></o:=
p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
channel.disconnect();</span><span lang=3DEN-US style=3D'font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><span lang=3DEN-US
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><b><span
style=3D'font-size:10.0pt;font-family:"Courier New";color:#7F0055'>return</=
span></b><span
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>
retorno.toString();</span><span style=3D'font-size:10.0pt;font-family:"Cour=
ier New"'><o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Courier N=
ew";
color:black'>&nbsp;&nbsp;&nbsp; }<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Courier N=
ew";
color:black'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Courier N=
ew";
color:black'>Thanks,<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Courier N=
ew";
color:black'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Courier N=
ew";
color:black'>Adriano</span><span lang=3DEN-US><o:p></o:p></span></p>

</div>

</body>

</html>

--_000_63F3F610C3855E428DCBA7757307EA5C62C69FCC0Csrvsj101raizs_--

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
JSch-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jsch-users

Reply via email to