I'm using Perl-cgi to generate a png graph through
a web-interface. Everything works great - good
graph, nice FIT (sigmoidal dose-response) to data. However, I can't figure out how to supress the FIT output (Iterations) - they show up in the browser. I've tried redirecting the output ( in the system call -
"/usr/local/bin/gnuplot $PLT_FILE >out.txt" ), but this results in gnuplot failing to generate any output. No "fit.log" or png file.
Is there someway to "silence" the FIT terminal output w/o effecting fit.log?
Thanks, Paul
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Above command works in a user account, but not
through cgi (as "nobody"). FIT terminal output is
redirected to "out.txt" and png/fit.log files are generated
- execution via my user account, csh.
As "nobody" (cgi), 0 files are generated by gnuplot.
Must be related to the use of user "nobody"
- I have checked and nobody owns all dirs written
to by the cgi-script/Perl.
Sun server running solaris8, sunone(netscape enterprise
- web server)
Any suggestions would be appreciated.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
'Nobody' may own a lot of directories --- but does it own the directory this script is run *from*, i.e. the working directory of the CGI process? I somewhat doubt that.
And then there's the rather likely issue of 'nobody's shell not being csh, like yours, so it may not understand >& redirection.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Fine. Although I'm still quite puzzled concerning what it is you're trying to achieve with those 'bash' or 'csh' invocations at the start of those lines. They seem to be doing nothing.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm using Perl-cgi to generate a png graph through
a web-interface. Everything works great - good
graph, nice FIT (sigmoidal dose-response) to data. However, I can't figure out how to supress the FIT output (Iterations) - they show up in the browser. I've tried redirecting the output ( in the system call -
"/usr/local/bin/gnuplot $PLT_FILE >out.txt" ), but this results in gnuplot failing to generate any output. No "fit.log" or png file.
Is there someway to "silence" the FIT terminal output w/o effecting fit.log?
Thanks, Paul
Follow up:
"/usr/local/bin/gnuplot $PLT_FILE >& out.txt"
Above command works in a user account, but not
through cgi (as "nobody"). FIT terminal output is
redirected to "out.txt" and png/fit.log files are generated
- execution via my user account, csh.
As "nobody" (cgi), 0 files are generated by gnuplot.
Must be related to the use of user "nobody"
- I have checked and nobody owns all dirs written
to by the cgi-script/Perl.
Sun server running solaris8, sunone(netscape enterprise
- web server)
Any suggestions would be appreciated.
'Nobody' may own a lot of directories --- but does it own the directory this script is run *from*, i.e. the working directory of the CGI process? I somewhat doubt that.
And then there's the rather likely issue of 'nobody's shell not being csh, like yours, so it may not understand >& redirection.
Thanks for the reply-
Nobody does own the directory... here is the
entire command that works... but with iterations
(from fit) echoed back to browser
"csh;cd /u01/cgi-bin/ccmc/biodata/curve_fit/; gnuplot biodata.plt"
You comment about the shell seems right on track.
"csh;cd /u01/cgi-bin/ccmc/biodata/curve_fit/ ;env|egrep SHELL>foo; gnuplot biodata.plt "
contents of "foo" are MT. Not sure what that means
other than the SHELL env is not set? I've also
tried bash & ksh - no effect.
Any additional comments or suggestions?
Thanks again, Paul
Follow up:
The following (system) commands work from perl-cgi
to keep the "fit" output from displaying in the
browser window...
"bash;cd /u01/cgi-bin/ccmc/biodata/curve_fit/ ; gnuplot biodata.plt 2> /dev/null"
-or-
"csh;cd /u01/cgi-bin/ccmc/biodata/curve_fit/ ; gnuplot biodata.plt 2> /dev/null "
Fine. Although I'm still quite puzzled concerning what it is you're trying to achieve with those 'bash' or 'csh' invocations at the start of those lines. They seem to be doing nothing.