[R] Pipe /shell - R does not wait

Duncan Murdoch murdoch at stats.uwo.ca
Mon Feb 1 12:38:02 CET 2010


robbert blonk wrote:
> Dear All,
>
> Within a large script, I try to invoke a second program (called e.g. XXX)
> from R using "shell" or "pipe".
>
> e.g.: 
>   
>> readLines(pipe("XXX")) 
>>     
> or: 
>   
>> shell("XXX",intern=TRUE, wait = TRUE)
>>     
>
> After running the program, the script reads a file with solutions produced
> by the second program ("XXX.001").
>
>   
>> readLines("XXX.001")
>>     
>
> This works fine, when the second program finishes quickly. However, when it
> takes some more time (like 2 minutes) R does not wait and starts looking for
> XXX.001 which is not there (yet). Consequently,my beautiful script
> crashes.....
>
> Is there a way to let R wait until the second program really finishes?? the
> argument "wait = TRUE" obviously doesn't work...

You need to give some details, like R version, platform, etc.

If you're on Windows, you might want to try a recent R-devel build:  
I've recently made some improvements to the system/shell/pipe code.

Duncan Murdoch



More information about the R-help mailing list