从Windows任务管理器启动时R子进程失败

时间:2018-08-20 16:47:22

标签: windows subprocess scheduler

设置和配置

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

包含C:/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”))中的错误:   无法创建过程:拒绝访问(“访问被拒绝”) 执行死刑(“执行已停止”)

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

启动test.R
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进程的权限较低,并且无法启动子进程,为什么? 我已经尝试将任务计划程序进程设置为最高特权,但是失败了!

谢谢

0 个答案:

没有答案