Я использую future_lapply()
для параллельного выполнения кода на Linux машине. Если я досрочно завершаю процесс, освобождается только один работник, и параллельные процессы продолжают сохраняться. Я знаю, что могу ввести tools::pskill(PID)
, чтобы завершить каждый отдельный процесс, но это утомительно, так как я работаю на 26 ядрах.
Если есть способ сделать системный вызов на linux из R, чтобы получить все активные PID?
Я настроил future_lapply
как таковой:
# set number of workers
works <- 26
plan(multiprocess, workers = works)
future_lapply(datas, function(data) {
# do some long processes
}
Если я завершу процесс и выполню top
, я все равно увижу:
Поскольку мои параллельные сеансы все еще работают.
Обновление с информацией о сеансе:
version.string R версия 3.6.2 (2019-12-12)
future 1.12.0
future.apply 1.2.0