Tag: 进程

在node.js中获取所有嵌套的subprocess的标准输出

我创build了一个节点脚本来启动subprocess,并且我已经成功地将其stdoutredirect到控制台。 但是,如果subprocess创build一个嵌套的subprocess,那么我无法得到它的标准输出或标准input。 我有一个模糊的想法,我必须创buildstream,并将其pipe道父进程,但我不知道现在。 有人可以请一个方法来实现它。 下面是我现在启动subprocess的代码 spawn = require('child_process').spawn; ls = spawn "ruby" , [ @editor.getPath() ] ls.stdout.on 'data', (data) -> console.log data.toString() ls.stderr.on 'data', (data) -> console.log data.toString()

运行节点进程 – 注入新的环境variables

比方说,我有一个节点进程运行。 有没有办法在退出的运行过程中注入新的环境variables。

写入node.js中的process.stdin并parsing行的最佳方法是?

我在MEAN堆栈proggraming,所以我有我的app.js,我想build立一个进程,将采取命令从它运行的shell(process.stdin) 目前我已经尝试过: const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.question('What do you think of Node.js? ', (answer) => { // TODO: Log the answer in a database console.log(`Thank you for your valuable feedback: ${answer}`); rl.close(); }); 但它写入我的input两次,退出1行后。 我需要一个循环读取函数,并从我那里接受无限的命令。 我怎么才能得到它 ?

nodejs:如何在两台服务器上的两个进程之间进行通信

我在NodeJs上工作,我的问题是: 进程A在计算机A上运行,而进程B在计算机B上运行,现在我想向他们两人广播一条消息,我该怎么做呢?

如何列出在脚本中分离的进程?

我有: $ cat ./test #!/bin/bash gulp dev & 然后运行它: $ ./test … (..命中input以获得命令提示符)脚本中的命令启动node进程。 但我没有在后台进程中: $ jobs -p 打印空的列表。 所以我们的目标是能够在单个脚本中列出/终止(多个)启动和分离的进程。 如何?

Node.js不能得到衍生进程的输出

这段代码得到了派生进程的输出。 哪里不对? 节点版本是v0.10.22 var spawn = require('child_process').spawn; var what = 'java'; var spawned = spawn(what, ['-version']); console.log('starting `'+what+' -version`'); spawned.stdout.setEncoding('utf8'); spawned.stdout.on('data', function (data) { console.log(data); }); spawned.on('close', function (code) { console.log('process exit code ' + code); }); var whendone = function() { console.log('done'); }; setTimeout(whendone,5000); 正如你所看到的,我甚至添加了一些超时等待启动的过程完成。

从本身重新启动一个节点进程

是否有可能从本身内部完全重新启动正在运行的单线程节点进程? 我想象一下服务器的步骤是这样的: closures监听套接字 通过child_process.fork或child_process.spawn将一个孩子child_process.spawn ,将process.argv交给孩子。 process.exit()父(不应该杀死孩子) 子再次绑定侦听套接字 可以这样做还是我完全错了?

无法从subprocess获取输出

所以,我有一个简单的应用程序(我写了)写入stdout 。 当我自己运行它,输出正在打印罚款。 现在,当我用节点产生进程时…没有任何事情发生(除了一个消息说过程已经完成) 这是我的代码: var spawn = require('child_process').spawn; helper = spawn("myApp", []); helper.stdout.on('data', function(data) { console.log("GOT: " + data); }); helper.stdout.on('end', function(data) { console.log("FINISHED: " + data); }); helper.on('exit', function(code) { console.log("CLOSED!"); }); 这里是输出: FINISHED: undefined CLOSED! 是的,就是这样。 这是怎么回事? 我错过了什么吗?

即使使用sudo nohup后,Amazon EC2 NodeJS服务器也会在2天后自行停止

我有我的应用程序在http://talkwithstranger.com/上运行,我已经在AWS EC2上部署了它。 我使用这个命令 sudo nohup node index.js & 即使closures我的terminal并退出SSH,也要继续运行我的Node JS服务器。 然而,每当我醒来2天后,我发现节点服务器本身自动停止。 我通过使用检查正在运行的进程 ps -ef 和我的节点脚本不在那里。 谷歌浏览器说,网站的DNS没有find,因为nodeJS快递不是当然服务我的HTML文件。 但为什么它停止? 是什么导致这个意外的closures我的服务器每两天后? 我必须再次手动运行nohup再次运行。 nohup是否有时间到期或什么? 有任何想法吗? 提前致谢

节点脚本如何在我当前的bash上下文(进程)中运行?

在bash你可以source或. 在当前的上下文中运行一些bash脚本。 所以,如果你有例如文件foo与alias bar='echo bam'在其中,当你运行它像 $ . foo 它会从文件foo中将这个别名发送到当前的上下文中。 我知道,如果我通常使用#!/usr/bin/env node第一行来运行节点脚本,那么这个脚本在子shell中运行,或者作为单独的进程运行。 我想避免这一点,并使节点脚本作用于我当前的bash进程(上下文)。 我怎样才能运行节点脚本,改变我当前的bash上下文? ps:任何例子都不错。 节点脚本只能改变我的目录,但它也必须发生在我当前的bash上下文中。 ps2:小问题:如果在节点中是不可能的(我很难相信这个),或者它非常复杂,那么在其他语言中是可能的吗? 像PHP,Java,Ruby(我不问C,因为它很明显:)如果是这样,请给我一些例子。