Как обеспечить закрытие параллельных процессов Rscript.exe с моим сеансом R?

Я использую пакет parallel для одновременного запуска функции сервера несколько раз. Функция сервера зацикливается до тех пор, пока сеанс не будет остановлен пользователем вручную.

Это выглядит как:

library(parallel)

cluster <- makeCluster(3)
clusterCall(cluster, f)

В Windows parallel работает, создавая Rscript процесс для каждого работника в кластере. Однако эти процессы не закрываются при завершении сеанса R; их нужно удалить вручную в диспетчере задач. С дюжиной или около того рабочих это быстро становится проблемой.

Можно ли настроить эти процессы на закрытие при закрытии родительского сеанса R?


person sdgfsdh    schedule 30.07.2015    source источник
comment
Это не работает после остановки сеанса   -  person sdgfsdh    schedule 30.07.2015
comment
Я не знаю, какую версию R вы используете, но любая последняя версия должна автоматически отключать рабочие процессы при закрытии мастера.   -  person Hong Ooi    schedule 15.09.2015


Ответы (1)


Вы всегда должны закрывать соединения после параллельной обработки. Попробуйте следующий пример:

library(parallel)

cluster <- makeCluster(3)
clusterCall(cluster, f)
stopCluster(cluster) # always add this line in the end of the script
person fvfaleiro    schedule 15.09.2015