windows - 从 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进程具有右下角并且无法启动子进程,为什么?我已经尝试将任务调度程序进程设置为最高权限,但它失败了!
谢谢
解决方案
推荐阅读
- javascript - 替换js中的元素时HTMLCollection显示?
- javascript - 如何获取圆圈内的数据
- php - 如何在 laravel 中调用命名函数作为回调?
- android - Android 11 Beta 通知错误
- angular - 在私人项目上实施 Microsoft Outlook 日历
- arrays - 如何在 Angular 中读取嵌套的 json 数组?
- node.js - 如何使用 Node.js 在 Mac 机器上检测已安装的浏览器?
- python - 为什么pyglet不能画八边形?
- python - 将多个重叠的 ohlc csv 合并到一个带有 pandas 的排序 csv 文件中
- c# - 在 1-10 之间选择一个数字 游戏每轮后不能产生不同/新的数字