在R中的taskscheduler中启动一个任务,使用taskscheduler_stop终止,返回'SUCCESS:计划任务“Hello-World-Schedule”已成功终止'。 [1] 0,但任务仍在运行(显示在taskscheduler_ls中)。有没有其他方法可以结束这个任务(它每分钟运行一次)?
taskscheduler_stop(taskname),等待终止
我认为您可能对这些功能的作用感到困惑。
来自文档:
?taskcheduler_stop
停止 Windows 任务计划程序中正在运行的特定任务的运行。
?taskscheduler_ls
获取当前在 Windows 任务计划程序中计划的所有任务。
因此您对
taskcheduler_stop()
的调用停止了任务的当前运行。但是,该任务仍计划在任务计划程序中再次启动,因此继续显示在对 taskscheduler_ls()
的调用中。
也许您对
taskscheduler_delete()
感兴趣。
删除 Windows 任务计划程序中计划的特定任务。
或者您可能有兴趣禁用该任务,但由于 {taskscheduleR} 没有相应的函数,因此您需要实现自己的函数。
它可能看起来像这样:
taskscheduler_disable <- function (taskname) {
cmd <- sprintf(
"schtasks /change /TN %s /DISABLE",
shQuote(taskname, type = "cmd")
)
system(cmd, intern = FALSE)
}