Tag: exec

从node.js调用shell脚本

我怎样才能在Node.js中生成一个脚本和pipe道到壳? 例如我可以创build这个文件,例如hello.R ,使其可执行chmod +x hello.R并从命令行运行./hello.R : #!/usr/bin/Rscript hello <- function( name ) { return (sprintf( "Hello, %s", name ); }) cat(hello("World")); 我想要做的是做Node的等价物。 特别是在内存中生成一个更复杂的R脚本(例如,使用模板等string),执行它(使用exec或spawn ?),并读取stdout 。 但我不能完全弄清楚如何pipe脚本R.我尝试了(除其他外): var rscript = [ hello <- function( name ) { return (sprintf( "Hello, %s", name ); }) cat(hello("World")); ].join('\n'); var exec = require('child_process').exec; exec(rscript, { shell: '/usr/bin/R'}, function(err, stdout, […]

NODEjs在for循环中同步exec语句

我想创build一个程序,在这里我从目录中读取文件,然后在其他目录中grep这些名称。 这里是代码: var exec = require('child_process').exec; var internalCount = 0; var i = -1; for (; i < fileNamesInDir.length / 2;) { if (i === internalCount) { continue; } (function () { i = internalCount; var j = i; exec('grep -nre js/' + fileNamesInDir[j] + ' ./ –exclude-dir=node_modules –exclude=searchResults.txt', function (error, stdout, stderr) { outputString […]

从NodeJS中执行exec osascript(AppleScript)

我知道我可能错过了这个巨大的, 但是有人知道为什么这会一直返回一个错误? $ node -v && node v0.4.6 > var cmd = 'osascript -e "open location \"http://google.com\""'; > require('child_process').exec(cmd, function (error, stdout, stderr) { console.log(error); }); //Error message > { stack: [Getter/Setter], arguments: undefined, type: undefined, message: 'Command failed: 15:20: syntax error: A “:” can't go after this identifier. (-2740)\n', killed: false, code: 1, signal: […]

nodejs的spawn和执行使用pdf2swf

我希望有人能够帮助解决这个问题,因为我自己没有得到。 我编译了最新版本的pdf2swf,除了当我想在NodeJS中使用它作为产生的child_process时,一切正常。 当我使用相同的命令作为一个执行,它再次工作。 提供一些代码示例: // convert a pdf to swf using exec (works) var tmpSwfLocation = docsDir+'/Paper.pdf.swf'; var pdf2swf = cp.exec('pdf2swf '+tmpPDFLocation+' -o '+tmpSwfLocation+' -G -v -f -T 9 -t -j '+quality+' -s subpixels='+resolution+' -s storeallcharacters -s poly2bitmap', function(err, stdout, stderr){ console.log(stdout); console.log(stderr); var end = Date.now(); console.log('pdf2swf: SWF created in '+((end-start) /1000)+' seconds'); }); […]

nodejs exec保持shell活着?

我试图运行一个打开VLC播放器并将RTMPvideostream入其中的命令。 但是当我运行它,VLC播放器出现,然后closures。 我想这是因为它所依赖的shell正在被杀死。 我怎么能保持壳活着? 从Windows中的cmd行运行相同的命令工作正常。 closuresshellclosuresVLC播放器。 我的代码看起来像这样 var exec = require('child_process').exec exec('"Z:/downloads/rtmpdump-2.4-git-010913-windows/rtmpdump.exe" -r "rtmp://199.9.251.83/app/jtv__cQlY3imWtyDf4Cr" -j "ae9d2c8bbe586ac9f88a4fae9ec5841c3976092c:{\"swfDomains\": [\"justin.tv\", \"jtvx.com\", \"xarth.com\", \"twitchtv.com\", \"twitch.tv\", \"newjtv.com\", \"jtvnw.net\", \"wdtinc.com\", \"imapweather.com\", \"facebook.com\", \"starcrafting.com\"], \"streamName\": \"jtv__cQlY3imWtyDf4Cr\", \"expiration\": 1370153205.846189, \"geo_ip\": \"91.10.111.130\", \"server\": \"video3-1\"}" –swfVfy "http://www-cdn.jtvnw.net/widgets/live_embed_player.r4b02d38f442d7cae5646f1a1c17078362f5fd857.swf?channel=games&referer=&channel=games" -v -o – | "C:/Program Files (x86)/VideoLAN/VLC/vlc.exe" – –play-and-exit')

NodeJS exec使用来自进程的二进制文件

我正在尝试编写一个函数,它会使用本地openssl为我做一些RSA繁重的工作,而不是使用js RSA库。 目标是 从文件读取二进制数据 在节点进程中使用JS做一些处理,产生一个包含二进制数据的缓冲区 将缓冲区写入exec命令的stdinstream RSAencryption/解密数据并将其写入标准输出stream 获取input数据返回到JS进程中的缓冲区进行进一步处理 Node中的subprocess模块有一个exec命令,但是我看不到如何将input传送给进程并将其传回到进程中。 基本上我想执行以下types的命令,但不必依赖写入文件(没有检查openssl的确切语法) cat the_binary_file.data | openssl -encrypt -inkey key_file.pem -certin > the_output_stream 我可以通过编写一个临时文件来做到这一点,但是如果可能的话,我想避免它。 产生一个subprocess允许我访问stdin / out,但没有findexec的这个function。 我在这里起草的方式是否有一个干净的方式来做到这一点? 是否有一些使用openssl的替代方式,例如openssl lib的一些本地绑定,这将允许我这样做,而不依赖于命令行?

通过exec()从php运行服务器端js

我有一个运行在Apache / PHP上的网站,作为一个性能问题,我写了一个JavaScript来完成特定的任务。 我在服务器上安装了node.js,为了运行这个javascript。 当我从命令行调用脚本时,它工作正常。 看下面的命令: > node myscript.js 但我需要它从一个PHP页面运行,我正在尝试通过调用exec()PHP函数来执行此操作,如下所示: <?php exec('node myscript.js >/dev/null/ 2>&1 &'); ?> …但它不工作。 难道我做错了什么? 有另一种方法去做我想要的吗?

从php shell_exec()运行节点js

您好,我打碎了一些文件来parsing由node jsparsing的文件。 目前我从terminal运行它作为node app.js 我需要从我的PHP模型中调用它。 我在想shell_exec()函数将有所帮助。 我试过这样 shell_exec('http://172.18.18.219/hrms_work/web/uplodedfiles/test/code4goal-resume-parser/app.js'); 但它不起作用。

如何在像zend一样的MVC框架中使用exec-php(node js)?

基本上我想在这里做的是将数据获取到节点服务器js中,这些数据是从写入Zend模型的函数返回的。 我的节点js服务器代码如下: var socket = require( 'socket.io' ); var express = require( 'express' ); var http = require( 'http' ); var execPhp = require('exec-php'); var app = express(); var server = http.createServer( app ); var io = socket.listen( server ); execPhp('../application/modules/front/models/Dbtable/Postcontent.php', function(error, php, outprint){ php.fetchEntryAll(function(error, result){ io.sockets.emit('showfeeds', result); }); }); server.listen( 7000 ); 所以当我试图执行上面的代码,它给了我像下面的错误: 错误:命令失败:PHP致命错误:在第3行/Data/www/XXX/application/modules/front/models/Dbtable/Postcontent.php中找不到类“Zend_Db_Table_Abstract” […]

Node.js作为服务,exec不起作用

我使用nssm作为服务运行Node.js项目。 当用户点击我的nodejs网站上的button时,它应该运行require('child_process').exec('cmd /c batfile.bat', function({ res.send(somedata); });而是跳过正在运行的bat文件并跳转到res.send(somedata) 。为什么是这样的?当我运行Node.js使用cmd和npm start server.js它工作正常。如何使exec执行工作,同时运行nodejs作为服务? 编辑一些代码: require('child_process').exec('cmd /c batfile.bat', function(){ var log = fs.readFileSync('logs/batlog.log', 'utf8'); var html = fs.readFileSync('logs/batlog.htm', 'utf8'); var json = {"log": log, "html": html}; res.send(json); }); batfile.bat应该生成这两个文件,但是如果我将nodejs作为服务运行,则不会。