[R] How to check if R.app is running?

Prof Brian Ripley ripley at stats.ox.ac.uk
Mon Jan 21 09:45:05 CET 2013

On 20/01/2013 22:03, Duncan Murdoch wrote:
> On 13-01-20 4:51 PM, Nick Matzke wrote:
>> Hi, here's an obscure question someone can hopefully help with.
>> I have some R code that uses stuff from parallel (now a part
>> of the R core in 2.15 I believe), especially clusterApply.
>> However, this seems to cause problems in R.app, and I've
>> seen advice to not use these multicore functions, e.g. doMC,
>> in R.app.
>> So, I want to make this optional.  How can have a program
>> check whether or not it is running in R.app or regular R?
>> Thanks so much for your help!!
>> Nick
>> PS: I saw this:
>> http://stackoverflow.com/questions/2020790/r-script-determine-whether-the-script-is-run-in-the-gui-or-from-command-line
>> Which says to use:
>> interactive()
>> ...but that doesn't work.  Interactive R is fine (e.g.
>> starting R from Mac Terminal), only R.app is not.
> .Platform$GUI will be different in the two cases:  "AQUA" for R.app and
> something else in other cases.  I don't know if that's a good test to
> find out if clusterApply is safe.

No, as clusterApply does not use multicore nor forking, and runs workers 
via Rscript.

The multicore functions in parallel are protected in R.app in current 
versions of R, at least.

There seems a lot of misinformation about.

> Duncan Murdoch
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

More information about the R-help mailing list