Назад | Перейти на главную страницу

Запустите сценарий (R) как службу [сервер 2012R2]

(полный Windows noob здесь, я использую Linux с детства)

Если я просто бегу:

C:\Progra~1\R\R-3.4.0\bin\x64\Rscript.exe  C:\Users\NPX9sx9000010190CAL\Desktop\el_leo\code_15.R

в терминале DOS сервера windows как администратор работает нормально.

Теперь мне нужно запустить этот скрипт как услугу (политика места, которое платит мне еду);

Я немного поискал в Интернете и поместил это в терминал DOS сервера Windows:

sc create myRScript5 binPath= "cmd.exe /c C:\Progra~1\R\R-3.4.0\bin\x64\Rscript.exe  C:\Users\NPX9sx9000010190CAL\Desktop\el_leo\code_15.R" DisplayName= "My R script 5" 

Услуга корректно отображается в списке. Я щелкаю правой кнопкой мыши и нажимаю "старт". Я получил:

Error 1053: The Service did not respond to the start request 

Я также пробовал несколько более или менее вдохновляющих вариантов, таких как:

sc create myRScript3 binPath= "C:\Progra~1\R\R-3.4.0\bin\x64\Rscript.exe \"C:\Users\NPX9sx9000010190CAL\Desktop\el_leo\progtest.R\"" DisplayName= "My R script 3" 

Я, должно быть, делаю что-то глупое, но не знаю что. FWIW вот code_15.R

setwd("C:/Users/NPX9sx9000010190CAL/Desktop/el_leo")


library(doSNOW)

print('boom')
set.seed(123)
x = runif(10)
write.table(x, 'yahoo.txt')

РЕДАКТИРОВАТЬ

Некоторые я пытаюсь решить SqlACID (возможно, где-то испортил).

Установил srvany.

Я создал файл

C:\Users\NPX9sx9000010190CAL\Desktop\el_leo\rrr.bat 

это содержит:

C:\Progra~1\R\R-3.4.0\bin\x64\Rscript.exe  C:\Users\NPX9sx9000010190CAL\Desktop\el_leo\code_15.R

Я запускаю терминал Windows от имени администратора и запускаю:

sc create "MyFirstService" binPath= "C:\Temp\SrvAny.exe" start= auto

я получил

[SC] CreateService SUCCESS

из оконного терминала. Я запустил RegEdit и нашел

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyFirstService

Я создал ключевой параметр

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyFirstService\Parameters

Внутри него я создал новую строку Application типа REG_SZ и value_data:

C:\Users\NPX9sx9000010190CAL\Desktop\el_leo\rrr.bat

Затем я перехожу в «Службы», нахожу MyFirstService и щелкаю правой кнопкой мыши «Выполнить»;

я получил

Error 2: The system could not find the file specified

Ожидается, что службы будут отвечать на запросы запуска / остановки очень специфическим образом, а cmd.exe не может этого сделать; раньше существовала "служебная оболочка", которая инкапсулировала общий исполняемый файл как службу, она была снабжена Комплект ресурсов Windows Server, найдите SRVANY.EXE, я понятия не имею, будет ли он работать с более новыми ОС или есть альтернативы, но попробовать стоит.

OP решил проблему, используя запланированную задачу, запускающую пакетный файл, а не службу.

ОП здесь: Коллега предоставил следующее:

schtasks /create /sc ONCE /tn OP /tr C:\Users\NPX9sx9000010190CAL\Desktop\el_leo\R.bat /st 09:35