隐藏子进程控制台窗口

时间:2015-07-15 15:37:29

标签: javascript node.js windows child-process forever

在windows(child_process.spawn)上的nodejs中生成一个新子节点时,它总是打开一个空白控制台窗口,该窗口在子进程结束之前保持打开状态。

有没有办法避免这种情况?

即。我们希望使用forever将我们的应用程序作为后台服务运行。但是,由于它不断打开和关闭空白控制台窗口,所以它不是很背景...

编辑:使子应用程序以“安静”模式运行不是一种选择,因为生成的部分进程是wmic

4 个答案:

答案 0 :(得分:1)

这种方式永远会为应用程序生成一个控制台。并且不会为每个产生控制台窗口打开。

forever -c "cmd /c  node" start app.js

答案 1 :(得分:0)

继RanP的答案后,

forever start --uid "foo" -c "cmd /c node" app.js

你需要开始'在-c args和--uid之前是可选的。请注意,-c命令中只有一个空格,允许此操作。

答案 2 :(得分:0)

使用 detached 之类的属性

spawn('node', [filePath, args], {
            detached: true,
            stdio: ['inherit', 'inherit', 'inherit', 'ipc'],
        })

答案 3 :(得分:0)

2017 年,windowsHide 选项为 introduced

<块引用>

隐藏通常在 Windows 系统上创建的子进程控制台窗口。 默认: false