Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 943169
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T22:23:35+00:00 2026-05-15T22:23:35+00:00

I have a piece of code that invokes an instance of the bash terminal

  • 0

I have a piece of code that invokes an instance of the bash terminal through the use of the following —

proc = Runtime.getRuntime().exec("/bin/bash", null, working-dir);

and then to run unix commands on this invoked instance of bash I’m using a PrintWriter object like this —

PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(proc.getOutputStream())), true);

I’m then using the PrintWriter object to actually execute the commands in the following fashion–

out.println("pwd");
out.println("ls >a.txt");

While both of the commands seem to work perfectly fine, I have an issue in the case wherein I construct a command based on some user input. Being specific, I’m constructing a command to send some files to a printer on the network and I’m doing it like this —

while ((strLine = br.readLine()) != null)   {
cmd= blah +blah +blah;//Construction of the command
out.println(cmd);
}

What is actually happening in the above piece of code is that br is reading from a file which contains all the files that need to be printed and then the string having the file name goes into the command and I write it onto the PrintWriter object.

the issue Im facing is that , I guess there some sort of queuing that’s happening and the PrintWriter object is not actually passing on the command to the invoked bash instance every time a command is constructed.
So at the end of the day, if there are 40 commands that are being constructed, only about 16-18 documents are being printed.
I guess it it because it is sending all the commands to the printer in one go resulting in the loss.I want to eliminate this loss.

Any pointers ??

Thanks
p1nG

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T22:23:36+00:00Added an answer on May 15, 2026 at 10:23 pm

    Try putting an out.flush() in your loop. This will flush the buffer in the BufferedWriter that you created.

    Another tip may be to avoid trying use a single bash exec for all of the commands and instead construct and execute the command individually. Consider using Process Builder instead of Runtime.exec().

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have the following piece of code (that may be invoked multiple times or
I have this piece of code that loops through an array and load images
I have this piece of code that does not work: public CartaoCidadao() { InitializeComponent();
I have this piece of code that works fine in subsonic 2.2, I migrated
I have a piece of code that load a very big image in memory.
I have a piece of code that takes several rows from a database and
I have a piece of code that look similar to this: <xsl:choose> <xsl:when test=some_test>
I have a piece of code that calls a WCF service that is hosted
If have a piece of code that gets some data from a sql database
I have a piece of code that converts an infix expression to an expression

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.