0

I plan to write a website frontend for a free computer algebra system (Reduce, http://reduce-algebra.com/). On the webserver I have a Java virtual machine running, and Reduce is also installed.

I can start the application via exec() in the Java file. But my question is the following: how can I emulate user inputs and how can I retrieve the outputs of the program? The main issue is that I want to log the whole session, not just call the program once, get the output, close it, and restart it again.

I need a way that allows for interactive communication, i.e. a way to "paste" a command in the command line, and a way to "copy" the response back to the Java program.

3
  • How are you going to secure this session? Please be aware that loads of hackers will gladly try to penetrate your server. Commented Jul 11, 2014 at 10:51
  • Where to start? Commented Jul 11, 2014 at 10:51
  • I edited my original post to make it less general. Thanks for the heads up.
    – Jens
    Commented Jul 11, 2014 at 16:12

1 Answer 1

1

System.exec() returns a Process object, and that object allows you to get access to STDIN and STDOUT of the forked process. The names MAY seem backwards, though -- the child's STDIN is acquired via getOutputStream() -- but the names are from the point of view of your process, not the child.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.