34

node.js サーバーでシェル スクリプトを実行したいのですが、何も起こりません...

childProcess.exec('~/./play.sh /media/external/' + req.params.movie, function() {}); //not working

別の childProcess は完璧に機能しますが、上記のプロセスは機能しません。

childProcess.exec('ls /media/external/', movieCallback); //works

ターミナルでスクリプトを実行すると、機能します。何か案は?(chmod +x を設定)

4

2 に答える 2

5
exec('sh ~/play.sh /media/external/' + req.params.movie ,function(err,stdout,stderr){
      console.log(err,stdout,stderr);
 })

+req.params.movi​​e を引数としてplay.shシェルスクリプトを実行します。/media/external/出力は、コールバックの stdout、stderr 変数を通じて利用できます。

またはこれを試してください

var myscript = exec('sh ~/play.sh /media/external/' + req.params.movie);
myscript.stdout.on('data',function(data){
    console.log(data); // process output will be displayed here
});
myscript.stderr.on('data',function(data){
    console.log(data); // process error output will be displayed here
});`
于 2015-10-28T06:14:28.087 に答える