私は、第2のプロセス(この場合はRcppはこのプロジェクトのオプションではないさまざまな理由から)を開始するシステムコールを行う光沢のあるアプリケーションを持っています。 C++プログラムは実行に時間がかかりますが、端末に連続して(2回/秒で)フィードバックを与えます。継続的な更新を伴う光沢のあるシステムコール
私は、光沢のあるアプリからプログラムを実行し、システムコールの出力を取得できますが、プロセスが終了するまで待機します。
私の質問は、輝くアプリの中のテキストを継続的に更新する方法はありますか?
例として、私は、次の光沢アプリ
ui <- bootstrapPage(
verbatimTextOutput("text")
)
server <- function(input, output) {
a <- system("./tmp", intern = T, wait = F)
output$text <- renderText(paste(a, collapse = "\n"))
}
shinyApp(ui = ui, server = server)
及び10秒待機した後(g++ tmp.cpp -o tmp
でコンパイルtmp.cpp
で)次のC++コード
#include <unistd.h>
#include <stdio.h>
int main() {
for (int i = 0; i < 10; ++i) {
printf("i is now %i\n", i); // print the current state
fflush(stdout); // force the print
usleep(1000000); // sleep for one second
}
return 0;
}
を有し、出力が表示されます代わりに、私は各ステップを表示したい。
これに関するアイデアや解決策はありますか?どうもありがとう!
C++出力をテキストファイルとして保存し、そのファイルを「反応的に」読み込むことができます。私の答え[ここ](https://stackoverflow.com/questions/46719268/shiny-app-does-not-reflect-changes-in-update-rdata-file/46747407#46747407)(オプション4)を参照してください。 –
それは完璧に見える、あなたが短い答えを書くなら、私は喜んでupvoteし、それを受け入れるだろう。 – David