Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #23161

Re: Why does this only work when I am running a shellscript

Path csiph.com!usenet.pasdenom.info!dedibox.gegeweb.org!gegeweb.eu!gegeweb.org!eternal-september.org!feeder.eternal-september.org!mx05.eternal-september.org!.POSTED!not-for-mail
From Steven Simpson <ss@domain.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: Why does this only work when I am running a shellscript
Date Sat, 30 Mar 2013 16:13:46 +0000
Organization A noiseless patient Spider
Lines 25
Message-ID <qifj2a-vsg.ln1@s.simpson148.btinternet.com> (permalink)
References <8738vdmg0h.fsf@Servus.decebal.nl>
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding 7bit
Injection-Info mx05.eternal-september.org; posting-host="7e194865abb1454ff7685570b1bd8709"; logging-data="21418"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1++OeOf1uo2HEobwdK2OC/ttMYGwn4i5sY="
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130308 Thunderbird/17.0.4
In-Reply-To <8738vdmg0h.fsf@Servus.decebal.nl>
Cancel-Lock sha1:spqJ4FYLg9SBQ/3RcBeqdBR+Wmg=
Xref csiph.com comp.lang.java.programmer:23161

Show key headers only | View raw


On 30/03/13 08:46, Cecil Westerhof wrote:
> I have the following code:
>      private static void doCommand(final String cmd) throws IOException {
>          Process p;
>          Scanner sc;
>
>          System.out.println("#" + cmd + "#");
>          p  = Runtime.getRuntime().exec(cmd);
>          sc = new Scanner(p.getInputStream());
>          while (sc.hasNext()) {
>              System.out.println(sc.nextLine());
>          }
>      }

You should also drain Process.getErrorStream().  You could discard it, 
copy it to System.err, log it, buffer it to report only if the command's 
exit code is non-zero, ...

Also, if you have no specific stream input for the process, I think it 
would be a good idea to close your OutputStream to it, though that 
should only matter if the process tries to read its input.

-- 
ss at comp dot lancs dot ac dot uk

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

Why does this only work when I am running a shellscript Cecil Westerhof <Cecil@decebal.nl> - 2013-03-30 09:46 +0100
  Re: Why does this only work when I am running a shellscript Barb Knox <see@sig.below> - 2013-03-31 03:54 +1300
    Re: Why does this only work when I am running a shellscript Steven Simpson <ss@domain.invalid> - 2013-03-30 16:07 +0000
  Re: Why does this only work when I am running a shellscript markspace <markspace@nospam.nospam> - 2013-03-30 08:23 -0700
    Re: Why does this only work when I am running a shellscript Arne Vajhøj <arne@vajhoej.dk> - 2013-03-30 11:34 -0400
  Re: Why does this only work when I am running a shellscript Roedy Green <see_website@mindprod.com.invalid> - 2013-03-30 08:35 -0700
  Re: Why does this only work when I am running a shellscript RVic <rvince99@hotmail.com> - 2013-03-30 08:41 -0700
    Re: Why does this only work when I am running a shellscript Joerg Meier <joergmmeier@arcor.de> - 2013-03-31 01:00 +0100
    Re: Why does this only work when I am running a shellscript Roedy Green <see_website@mindprod.com.invalid> - 2013-03-31 17:04 -0700
  Re: Why does this only work when I am running a shellscript Steven Simpson <ss@domain.invalid> - 2013-03-30 16:13 +0000

csiph-web