detach process in nodejs



const child_process = require("child_process");
const fs = require("fs");

let out = fs.openSync("./out.log", "a");
let err = fs.openSync("./out.log", "a");

let tinysvr = child_process.spawn("ejemplo", [], {
    detached: true,
    stdio: ['ignore', out, err]
});
tinysvr.unref();
console.log("bye"); 

https://stackoverflow.com/questions/12871740/how-to-detach-a-spawned-child-process-in-a-node-js-script

detached参数的作用:
https://nodejs.org/dist/latest-v6.x/docs/api/child_process.html#child_process_options_detached

如果进程无法启动(可执行文件不存在, 路径错误etc), 用try-catch将这个spawn包起来也没有用.
只能通过:

process.on('uncaughtException', (e)=>{
     console.error(`${e}`); 
});

来捕获. (错误的spawn不会出现在调用栈上边. 这是一个比较可惜的地方.)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值