Nodejs setsid()等效

我试图在nodejs中执行一个bash shell – 除了作业控制,我还在工作。 我很确定这是因为产生的进程没有被设置给进程负责人。 在C中,我可以通过调用setsid()来做到这一点。 在nodejs中,我读了相当于在产生新进程时设置选项'setsid:true'。 我这样做是这样的:

var child = spawn('/bin/bash', ['--login'], {stdio: [this.slave, this.slave, this.slave], env: {"TERM": "vt100"}, setsid: true}); 

但是我仍然收到“在这个shell中没有作业控制”的消息。
示例输出,分配pty ttys002后:

 bash: no job control in this shell Amandas-MacBook-Pro:puffshell amanda$ tty /dev/ttys002 Amandas-MacBook-Pro:puffshell amanda$ Amandas-MacBook-Pro:puffshell amanda$ ps PID TTY TIME CMD 2055 ttys000 0:00.05 -bash 2158 ttys000 0:00.01 /bin/bash 2170 ttys000 0:00.11 puffd 2171 ttys000 0:00.01 /bin/bash --login Amandas-MacBook-Pro:puffshell amanda$ 

总之,我的问题是:
– 这是设置新进程的会话ID的正确方法? 如果是这样的话,我该如何明确地检查它是否正确地做到了这一点(因为在我看来,这不是正确的 – 这是我想象中唯一不会导致任何工作控制的事情,因为tty命令是证据pty设置正确)。
– 如果这个方法不起作用,那么setsid()还有什么替代方法不需要下载模块? 如果没有,我会写一个c ++插件。
谢谢你的帮助!

你使用什么版本的节点? setsid曾经在文档中,但是被一个分离的选项取代。

https://nodejs.org/api/child_process.html#child_process_options_detached