View Single Post
  #1 (permalink)  
Old 04-10-2008
mefoster mefoster is offline
Registered User
 
Name: Mary Ellen Foster
Organization: Technical University of Munich
Project: JAST human-robot dialogue system
 
Join Date: Jun 2006
Posts: 78
How does stderr/stdout redirection work?

One of the Ice servers in the system I'm currently working on is a weird Java/SWI-prolog hybrid. If I redirect the output from that server using any of the Ice redirection properties (e.g., IceGrid.Node.Output), only the messages that are printed from the Java side show up in the logs; the messages that are directly printed by Prolog seem to vanish into the ether somehow.

If I run the program from the command line, using exactly the same executable values and environment as in Ice and with output redirection, I get the full output in the files. I mean, I do something like this (where "pl" is the Prolog executable; using a bash shell on linux):
Quote:
pl main.pl -g run 1>test.out 2>test.err
and test.out and test.err contain everything printed by the server. But if I redirect through IceGrid, the corresponding files contain only the output produced by the Java side.

Is there anything obvious I should check to see what's going on here?

Thanks,

MEF
__________________
Mary Ellen Foster
Technical University of Munich
JAST human-robot dialogue system
Maintainer of Fedora Ice packages
Reply With Quote