首页 > 解决方案 > 从 Windows 任务管理器启动 R 子进程失败

问题描述

设置和配置

Windows 10 [1]"R 版本 3.5.0 (2018-04-23)

AC:/test.r 包含

library(subprocess)
is_windows <- function () (tolower(.Platform$OS.type) == "windows")
R_binary <- function () {
  R_exe <- ifelse (is_windows(), "R.exe", "R")
  return(file.path(R.home("bin"), R_exe))
}
handle <- spawn_process(R_binary(), c("--no-save")) 
Sys.sleep(1)
print(handle)
process_write(handle, 'n <- 10\n')
process_write(handle, "rnorm(10)\n")
process_read(handle, PIPE_STDOUT, timeout = 1000)

结果

1 - 在 Rgui.exe/Rterm.exe 中启动 test.R 一切正常

2 - 通过任务调度程序启动 test.R 我收到以下错误

spawn_process(R_binary(), c("--no-save")) 中的错误:无法创建进程:Accès refusé(“拒绝访问”)执行 arrêtée(“执行停止”)

您可以通过执行手动任务计划程序任务或通过

install.packages("taskscheduleR")
library(taskscheduleR)
myscript <- system.file("extdata", "helloworld.R", package = "taskscheduleR")
myscript="C:/test..r"
taskscheduler_create(taskname = "myfancyscript", rscript = myscript,
    schedule = "ONCE", starttime = format(Sys.time() + 10*60, "%H:%M"))
taskcheduler_runnow("myfancyscript")

(然后就可以读取子进程目录下的错误日志了)

问题 ?

似乎任务调度程序启动的R进程具有右下角并且无法启动子进程,为什么?我已经尝试将任务调度程序进程设置为最高权限,但它失败了!

谢谢

标签: windowssubprocessscheduler

解决方案


推荐阅读