2017-02-02 8 views
2

私のノードサーバーでいくつかのRスクリプトを実行したい。私は子プロセスを使用し、それは動作するようです。私の質問は次のとおりです。Rでファイルを作成し、間違ったディレクトリにchildprocessを作成する

結果ファイルが保存される場所にはどのような影響がありますか? 現在、私が何をしても、結果はserver.jsに保存されます。

しかし、結果を保存する場所を自分で選択したいと思います。 (私の場合は、スクリプトが実行された場所に結果が表示されます)

どうすればいいですか?

Here`s私のコード:

これは私が私のserver.jsに使用するものです。

app.post('/execScript', function (req, res) { 
    var childProcess = require('child_process'); 
    console.log("IM IN SERVER"); 
    childProcess.exec('Rscript ../app/test.R', function (err, stdout, stderr) { 
    if (err) { 
     console.error(err); 
     return; 
    } 
    }) 
}); 

これが私のjsファイルからAJAX呼び出しです:

$.ajax({ 
     type: 'POST', 
     data: {project: ""+currentProject+"", script: ""+script+""}, 
     url: url, 
     success: function (content, textStatus) {} 
    }); 

です結果を保存する場所を決める方法さえありますか?

助けがあれば助かります。

答えて

2

あなたは現在の作業ディレクトリ指定するan options object to execを渡すことができます。YOU.ARE.THE.BEST

childProcess.exec('Rscript ../app/test.R', {cwd: '/your/path/'}, (err) => { 
    if (err) { 
     console.error(err); 
    } 
    }) 
+1

を!ありがとう、魅力のように働いた:) – ViktorG

関連する問題