После того, как я некоторое время играл с R-параллельным пакетом на моем компьютере на базе Debian, я все еще не могу найти способ удалить все дочерние процессы zombie после вычисления.
Я ищу общее и независимое от ОС решение.
Ниже простого script, иллюстрирующего проблему для двух ядер:
library(parallel)
testfun <- function(){TRUE}
cltype <- ifelse(.Platform$OS.type != "windows", "FORK", "PSOCK")
cl <- makeCluster(2, type = cltype)
p <- clusterCall(cl, testfun)
stopCluster(cl)
К сожалению, этот script оставляет два процесса зомби в таблице процессов, которые только убиваются, если R выключен.