Может кто-нибудь подскажет, как я мог бы получить эту работу ....Вызов Rscript из Linux скрипт
У меня есть сценарий R, который занимает несколько минут, чтобы бежать и пишет несколько сотен строк вывода. Я хочу написать оболочку сценария оболочки вокруг этого R-скрипта, который запустит R-скрипт в фоновом режиме, выведет его вывод в файл и начнет следовать за дном этого файла. Если пользователь затем вводит CTRL-C, я хочу, чтобы он убил скрипт оболочки и команду хвоста, но не скрипт R. Звучит просто так?
Ниже я привел упрощенный пример, но я не понимаю, почему это не работает. Всякий раз, когда я убиваю скрипт оболочки, скрипт R также убивается, несмотря на то, что он явно работает в фоновом режиме. Я пробовал nohup, отрезал и т.д. без успеха.
example.R
for(i in 1:1000){
Sys.sleep(1)
print(i)
}
wrapper.sh
#!/bin/bash
Rscript example.R > logfile &
tail -f logfile
Заранее спасибо!
Нет, это не то. Если я это сделаю, я получу две работы, которые работают в фоновом режиме, и CNTL-C не убивает ни одного из них. Я хочу, чтобы CNTL-C убил хвост -f, но не Rscript. – David
У меня нет доступа к 'R', но я просто попробовал этот точный скрипт с PHP и работает так, как описано. Ctrl-C убивает родительский скрипт, но оставляет фоновый процесс запущенным. – miken32