Node.js分离的子进程被调用为交互式前台进程
Node.js Detached child process is invoked as interactive foreground process
我正在调用一个分离的child_process
(在窗口中),就像这个
var stdout = fs.openSync('./out.log', 'a');
var stderr = fs.openSync('./out.log', 'a');
var child = child_process.spawn('node', ['./main.js'], {
detached: true,
stdio: [ 'ignore', stdout, stderr ],
env: process.env
});
child.unref();
派生的进程,即main.js
,反过来又使用child_process.fork
分叉一些工作者。
通常,子进程和子进程应该在后台运行,如果我错了,请纠正我。但当我尝试时,子进程在前台以交互方式运行。我不知道是什么原因导致他们这样做的。有人能指出问题出在哪里吗?
如果我将detached
设置为false
,它可以正常工作,但如果不退出所有子级,原始父级就无法退出。
我认为这可能是windows上节点的问题。
我在节点文档中尝试了您的代码和示例代码,您肯定在http://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options在我的Ubuntu虚拟机上,它运行得很好。进程被分离并保持运行,除了out.log之外,任何地方都没有输出,因为它在后台成功运行。
我运行了一个简单的ping命令,还像您尝试的那样在javascript文件上运行了一种节点实例,两者都运行得很好。
我建议你在windows中使用ping命令也这样做。
var child = child_process.spawn('ping', ['-n','25','localhost'],. . .
如果这能像你预期的那样工作,那么你的main.js中可能有什么东西导致了这个问题。如果它也不起作用,我会说你在windows上的节点中遇到了一个错误,应该报告它
希望这能帮助到一些人!
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何从Java/scala调用js美化程序
- 如何调用这个匿名 JavaScript 函数
- 如何从模块链中调用函数.导出到节点中
- 我需要从php调用javascript或jquery
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- node.js:setInterval()正在跳过调用
- 如何在单击复选框后调用控制器方法
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 使用Google Visualization动态调用构造函数
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 调用函数内部的函数
- 函数未在Object.keys或Object.getOwnPropertyNames下列出,但可以调用
- Javascript/jQuery中的并行Ajax调用
- Node.js分离的子进程被调用为交互式前台进程