In R 3.0.2 on Linux 3.12.0, I am using the `system()` function to execute a number of tasks. The desired effect is for each of these tasks to run as they would if I had executed them on the command-line via Rscript outside of R `system()`.

However, when executing them inside R via `system()`, each task is tied to the same single CPU from the master R process.

In other words:

When launched via RScript directly from a bash shell, outside of R, each task runs on its own core as possible (this is desired)

When launched inside R via `system()`, each task runs on the same single core. There is no multicore sharing. If I have 100 tasks, they are all stuck on one core.

I cannot figure out how to spawn a process inside of R so that each process will use its own core.

I am using a simple test to consume CPU cycles so I can measure the effect using `top`/`htop`:

```
dd if=/dev/urandom bs=32k count=1000 | bzip2 -9 >> /dev/null

```

When this simple test is launched outside of R multiple times, each iteration gets its own core. But when I launch it inside of R:

```
system("dd if=/dev/urandom bs=32k count=2000 | bzip2 -9 >> /dev/null", ignore.stdout=TRUE,ignore.stderr=TRUE,wait=FALSE)

```

They are all stuck on a single core.

Here is a visualization after running 4 simultaneous/concurrent iterations of `system()`.

![enter image description here](https://i.stack.imgur.com/xGRcf.png)

Please help me, I need to be able to tell R to launch new tasks, with each of them running in their own core.

UPDATE DEC 4 2013:

I tried a test in Python using this:

```
import thread
thread.start_new_thread(os.system,("/bin/dd if=/dev/urandom of=/dev/null bs=32k count=2000",))

```

I repeated the new thread several times, and as expected everything worked (multiple cores used, one per thread).

So I think install the `rPython` package in R, and try the same from within R:

```
python.exec("import thread")
python.exec("thread.start_new_thread(os.system,('/bin/dd if=/dev/urandom of=/dev/null bs=32k count=2000',))")

```

Unfortunately, once again it was limited to a single core even after repeated calls. Why is it that everything launched is limited to a single core when executed from R?