[Rd] Listing all spawned jobs/processed after parallel::mcparallel()?
Henrik Bengtsson
henrik.bengtsson at ucsf.edu
Sat Jun 20 23:21:20 CEST 2015
QUESTION:
Is it possible to query number of active jobs running after launching
them with parallel::mcparallel()?
For example, if I launch 3 jobs using:
> library(parallel)
> f <- lapply(1:3, FUN=mcparallel)
then I can inspect them as:
> str(f)
List of 3
$ :List of 2
..$ pid: int 142225
..$ fd : int [1:2] 8 13
..- attr(*, "class")= chr [1:3] "parallelJob" "childProcess" "process"
$ :List of 2
..$ pid: int 142226
..$ fd : int [1:2] 10 15
..- attr(*, "class")= chr [1:3] "parallelJob" "childProcess" "process"
$ :List of 2
..$ pid: int 142227
..$ fd : int [1:2] 12 17
..- attr(*, "class")= chr [1:3] "parallelJob" "childProcess" "process"
However, if I launch them without "recording" them, or equivalently if I do:
> f <- lapply(1:3, FUN=mcparallel)
> rm(list="f")
is there a function/mechanism in R/the parallel package allowing me to
find the currently active/running processes? ... or at least query
how many they are? I'd like to use this to prevent spawning of more
than a maximum number of parallel processes. (Yes, I'm away of
mclapply() and friends, but I'm looking at using more low-level
mcparallel()/mccollect()). I'm trying to decide whether I should
implement my own mechanism for keeping track of "jobs" or not.
Thanks,
Henrik
More information about the R-devel
mailing list