Articles of 产卵

守护程序不会在browser.end()后终止

我启动启动我的本地服务器的subprocess后运行Nightwatch。 Nightwatch运行testing,它们成功完成,浏览器窗口全部closures,但是在打印“确定”10个总断言通过之后, nightwatch进程继续运行。 我认为这可能与我如何看nightwatch过程中的事件有关,但据我所知,我正在观看所有可能表明守夜人正在退出的事件。 runner.js shutdown()方法永远不会被调用。 testing结束后,如何让Nightwatch终止? 更新 如果我删除sign-in.js中的最后一个testing,则Nightwatch按预期退出。 runner.js import spawn from 'cross-spawn' // 1. start the dev server using production config process.env.NODE_ENV = 'testing' let servers function shutdown (result) { console.log('HERE', result) try { // Passing a negative PID to kill will terminate all child processes, not just the parent if (servers) process.kill(-servers.pid) […]

节点产卵进程检查timout

我已经产生了有时需要很长时间运行的过程,我的问题是有一种方法来限制这个过程时间? 例如3分钟后杀死这个过程?

Node.js – 产卵gzip过程

我想用Node.js来gzip一些数据… 具体来说,我有'BUF'的数据,我想写一个gzipforms的这个'stream'。 这是我的代码: c1.on('data',function(buf){ var gzip = spawn('gzip', ['-' + (compressionRate-0),'-c', '-']); gzip.stdin.write(buf); gzip.stdout.on('data',function(data){ console.log(data); stream.write(data,'binary'); }); }); 麻烦的是,这根本行不通! 我不确定产卵过程和pipe道数据的确切语法。 任何帮助不胜感激。 提前谢谢了, 编辑:这里是我从中得到的想法的原始工作代码。 该项目位于: https : //github.com/indutny/node.gzip 任何人都可以搞清楚如何在node.js产生这个产卵因为我完全卡住了! var spawn = require('child_process').spawn, Buffer = require('buffer').Buffer; module.exports = function (data) { var rate = 8, enc = 'utf8', isBuffer = Buffer.isBuffer(data), args = Array.prototype.slice.call(arguments, 1), callback; […]

在node.js中产生的进程立即退出

我正在尝试在node.js中产生一个avconv进程。 它应该接收stdin数据并将转换后的数据输出到stdout 当命令在shell中工作时,它会立即在node.js中closures,我不知道为什么: avconv -v quiet -i pipe:0 -vn -f s16le -acodec pcm_s16le pipe:1 这只是工作,并在节点: var a = spawn('avconv', ['-v quiet -i pipe:0 -vn -f s16le -acodec pcm_s16le pipe:1']); a.on('exit', function(code) { pr(code, true); }) 我立即得到一个'1'退出代码。 谁能告诉我这里有什么问题?

Node-Webkit子产生UNKNOWN错误

我正试图在我的Windows文件系统的其他地方启动一个.exe。 spawn = require('child_process').spawn; game.process = spawn(path.join(config.values.armaPath, 'arma3.exe'), { detached: true }); 我已经把它包装在一个try / catch中,我得到的错误是没有帮助的: Error {code: "UNKNOWN", errno: "UNKNOWN", syscall: "spawn", stack: (…), message: "spawn UNKNOWN"}code: "UNKNOWN"errno: "UNKNOWN"message: "spawn UNKNOWN" 我已经确认path.join到.exe是正确的。 我也试过了 game.process.stdout.on('error'… 但永远不会发生。 编辑,我也试过另一种方法: var child = execFile(path.join(config.values.armaPath, 'arma3.exe'), function(error,stdout,stderr) { if (error) { console.log(error.stack); console.log('Error code: '+ error.code); console.log('Signal received: '+ error.signal); […]

让NodeJS应用程序使用NPM进行更新

Hej在那里, 我试图添加一些非传统的function到我的NodeJS应用程序,但我有一些麻烦。 我想要做的是以下几点: 我想从客户端更新我的服务器代码。 (如果您愿意,可以使用自动更新function。) 我第一次尝试使用NPM API并运行: npm.commands.install([package], function(err, data) 但是当然这会导致错误,告诉我NPM在服务器运行时无法安装。 我第二次尝试使用以下代码产生NPM更新: spawnProcess('npm', ['update'], { cwd: projectPath }, done); spawnProcess函数是一个通用的spawn函数: var projectPath = path.resolve(process.cwd()); var spawnProcess = function(command, args, options, callback) { var spawn = require('child_process').spawn; var process = spawn(command, args, options); var err = false; process.stdout.on('data', function(data) { console.log('stdout', data.toString()); }); process.stderr.on('data', function(data) { […]

用node.js中的参数产生进程

我需要从node.js产生一个subprocess,同时使用ulimit来避免使用内存。 在文档之后,获得基本的产卵工作并不困难: child = spawn("coffee", ["app.coffee"]) 。 但是,我正在做的事情只是使得产卵静静地死去。 child = spawn("ulimit", ["-m 65536;", "coffee app.coffee"]) 如果我会运行ulimit -m 65536; coffee app.coffee ulimit -m 65536; coffee app.coffee – 它的工作原理。 我在这里做错了什么?

Grunt中的Nodemon-like任务:执行节点进程和监视

我觉得我失去了一些东西。 这是我想要达到的: 有一个咕噜的任务执行我的server.js和并行运行watch任务。 我觉得这正是Gruntdevise的任务之一,但我无法实现这种configuration。 其中,我读过这个: 通过Grunt运行Node应用程序,但我仍然无法做到。 这是我的Gruntfile.js: module.exports = function(grunt) { // Project configuration. grunt.initConfig({ watch: { scripts: { files: ['*.js'], tasks: ['start'], options: { nospawn: true } } } }); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.registerTask('start', function() { grunt.util.spawn({ cmd: 'node', args: ['server.js'] }); grunt.task.run('watch'); }); grunt.registerTask('default', 'start'); }; 我有"grunt-contrib-watch": "~0.3.1" grunt-contrib-watch@0.3.0 "grunt-contrib-watch": "~0.3.1" ,应该比前面提到的文章更高版本,比grunt-contrib-watch@0.3.0 。 如果你能帮我实现适当的configuration,我将非常感激。 但更一般的说,我不明白为什么没有官方的grunt-contrib-nodemon-like软件包和任务,因为我感觉这将是使用grunt(我真的很喜欢这个工具! […]