Articles of exec

node.js:使用exec调用的外部脚本会在我使用spawn的时候提前终止

当我使用节点来启动我的扫描仪时,它可以完美地工作: var exec = require("child_process").exec; function scanner(response) { console.log("Request handler 'scanner' was called."); exec("scanimage –source 'Flatbed' -pv –format tiff –batch=$(date +%Y%m%d_%H%M%S)_p%04d.tiff –resolution 300 –batch-count=1", function (error, stdout, stderr) { console.log('stdout: ' + stdout); console.log('stderr: ' + stderr); response.end(); }); } 扫描工作,这个输出写成: Request handler 'scanner' was called. stdout: stdout: Scanning 1 pages, incrementing by 1, numbering […]

Node.js命令在使用pgrep时出错

在我的代码中,我需要检查程序是否启动。 要做到这一点,我有一个“运行”function: function running(app, callback) { var arg = 'pgrep –count ' + app; exec( arg, function(err, stdout, stderr) { if (err) { console.log('Error:' + inspect(err) + ' ' + stderr); callback('0'); } else { var data = '' + stdout; callback(data.charAt(0)); //Will be 0 only if no app is started } }); } 它有一段时间运作良好,但现在我得到: […]

Nodejs child_process.exec:禁用在控制台上打印标准输出

我正在通过nodejs child_process.exec执行映像magick标识命令。 并使用从我的脚本中的标准输出返回的string。 一切工作正常,但调用在控制台打印标准输出,如果服务器没有重新启动,控制台不清除一段时间,控制台变得混乱的标准输出消息。 相关编码: var exec = require('child_process').exec; exec('identify -verbose '+originalFilePath,function(err,stdout,stderr){ var strOut = stdout; // Do something with stdout }); 我只想禁用在控制台上打印返回的结果。

如何防止caching结果中的node.js exec?

我正在尝试使用此代码获取带有node.js exec的WiFinetworking列表: exec('iwlist ra0 scan | grep ESSID', function(err, out, code) { console.log(out); }); 它能够很好地打印所有find的ESSID。 但是当我重命名我的路由器的ESSID时,无论我等待多less次或者运行了多less次,我仍然会得到旧的ESSID。 如果我运行相同的命令iwlist ra0 scan | grep ESSID iwlist ra0 scan | grep ESSID从Linuxshell,我得到新的ESSID,它也更新node.js执行结果。 看起来像是将结果caching在node.js exec中。 我如何强制重新扫描或禁用caching?

试图从节点产生rubysass

我有一个名为sassy.js的脚本 var spawn = require('child_process').spawn, rubySass = spawn('sass', ['–watch scss:.tmp/css', '–sourcemap=auto', '–style=expanded', '–unix-newlines']); 我尝试使用节点sassy.js运行 $ node sassy.js events.js:85 throw er; // Unhandled 'error' event ^ Error: spawn sass ENOENT at exports._errnoException (util.js:746:11) at Process.ChildProcess._handle.onexit (child_process.js:1053:32) at child_process.js:1144:20 at process._tickCallback (node.js:355:11) at Function.Module.runMain (module.js:503:11) at startup (node.js:129:16) at node.js:814:3 这很奇怪,因为这个代码工作: var exec = require('child_process').exec, rubySass = […]

Node.js的exec事件不会在Promise内部触发

我有这个简单的代码,这是一个承诺,你可以看到: var exec = require('child_process').exec; return new Promise(function(resolve, reject) { var x = exec(`cd /maps && ls -la`, {}, function(err, stdout, stderr) { if (err || stderr) { reject(err + stderr); } resolve(stdout); }); x.stdout.on('data', function (data) { console.log(data); }); }); 事件从来没有被解雇,而如果我从一切工作中删除承诺 你有什么线索吗?

如何执行脚本从nodejs设置iterm2徽章?

我从Iterm2官方站点得到这个bash脚本。 printf "\e]1337;SetBadgeFormat=%s\a" $(echo "text" | base64) 我试图像波纹pipe,没有错误,但没有设置iterm2徽章 var exec = require('child_process').exec; exec('printf "\e]1337;SetBadgeFormat=%s\a" $(echo "text" | base64)');

NodeJs exec-php模块,php不是一个命令

我想从我的nodejs文件调用一个php文件。 我已经安装并需要exec-php模块,它已经安装好了。 我得到的错误是: { Error: Command failed: php C:\Users\***\Desktop\nodejs\xxchat11\node_modules\exec-php\lib\php\cli.php -pC:\Users\***\AppData\Local\Temp\tmp-129647qzlx6s.gh55ewmi.tmp -rC:\Users\***\AppData\Local\Temp\tmp-12964 7pid95t.8vpiizfr.tmp 'php' is not recognized as an internal or external command, operable program or batch file. at ChildProcess.exithandler (child_process.js:204:12) at emitTwo (events.js:106:13) at ChildProcess.emit (events.js:191:7) at maybeClose (internal/child_process.js:886:16) at Socket.<anonymous> (internal/child_process.js:342:11) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at Pipe._handle.close [as _onclose] (net.js:501:12) killed: false, […]

NodeJS文件下载与WGET?

我正在尝试使用nodejs的WGET方法创build文件下载。 我find了这个: var exec = require('exec'); // Function to download file using wget var download_file_wget = function(file_url) { // extract the file name var file_name = url.parse(file_url).pathname.split('/').pop(); // compose the wget command var wget = 'wget -P ' + DOWNLOAD_DIR + ' ' + file_url; // excute wget using child_process' exec function var child = […]

有没有可能在linux上执行dotnet exe与node.jssubprocess?

我有一个EXE文件,是用dotnet创build的。 我有一个rhc服务器,在那里我想运行这个EXE,并捕捉它的oputput(与subprocess)。 但我有一个folowing错误: 不能执行二进制文件 我明白,这是不能在Linux上执行,但是有没有解决scheme来解决这个问题,而不重写exe​​,或更改操作系统? 有没有节点包,有什么可以解决这个? 非常感谢您的回答!