13

RコンソールからバックグラウンドでRスクリプトを実行したい。

コンソールから、私は通常Rスクリプトをsource('〜/ .active-rstudio-document')として実行します。残りの作業を進めるには、スクリプトが完了するまで待つ必要があります。これの代わりに、コンソールで作業を続行できる間、Rをバックグラウンドで実行したいと思います。また、Rがソースコマンドを完了すると、どういうわけか通知を受ける必要があります。これはRで可能ですか?

仕事に時間がかかることがよくあるので、これは非常に便利かもしれません。

PS-ソーススクリプトを新しいメモリスペースではなく、同じメモリスペースで実行したい。したがって、フォーク、システムなどのソリューションは私には機能しません。Rスクリプトを別のプロセスではなく別のスレッドとして実行できるかどうかを確認しています。

4

1 に答える 1

23

system()とRscriptを使用して、スクリプトを非同期のバックグラウンドプロセスとして実行できます。

system("Rscript -e 'source(\"your-script.R\")'", wait=FALSE)

スクリプトの最後に、save.image()後でロードするためにオブジェクトを保存し、オブジェクトの完了を通知することができcat()ます。

...
save.image("script-output.RData")
cat("Script completed\n\n")

お役に立てれば!

于 2013-01-08T07:10:07.723 に答える