It looks like you are forgetting to include the ampersand at the end, which is the thing that tells the shell to run the command as a background job. Also, it looks like you have a shell "magic" character (question mark) in the output file name -- I think that was supposed to be a slash? And I wonder about your variable names... Are "$SubDirName" and "$SubDir" supposed to be two different strings? Finally, as mentioned above, you really don't want to run the command in backticks.

That looks to me like four different errors in just two lines of code. I guess you are lost.

Try it like this (some of the changes relative to your two lines are just meant to make it look better):

my $ifile = "read_parameters_by_file_batch"; my $ofile = "outR.txt"; my @args = ( $DirName, $SubDirName ); my $cmd = "R --slave --args @args < $ifile > $SubDirName/$ofile 2> +/dev/null &" my $failed = system( $cmd ); if ( $failed ) { die "$0: command failed: ($failed) $!\n trying: $cmd\n"; }
Try running it that way from a shell first, to see if it does what you want (there's a chance you might need to fix something in the command line syntax, so be sure you have that right before trying it via http).

Then, when you try it in your cgi script (or whatever), if it fails, be sure to check the server's error log. If you can't do that, try using the "FatalsToBrowser" trick in CGI, so that the error report goes to the browser.

If you still have trouble and decide you want to post another question, you had better include the actual code you are using, and the actual error message(s) you are getting. Just saying "it doesn't work" is no way to make progress. If necessary, create a small script that does nothing else except demonstrate the problem, so you can post it in full. That will give us more of what we need in order to help.


In reply to Re^3: How to redirect the output of system call by graff
in thread How to redirect the output of system call by advait

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.