gpt4 book ai didi

javascript - 如何在 Node 中的 process.exit 之后启动另一个进程

转载 作者:行者123 更新时间:2023-12-05 00:37:19 25 4
gpt4 key购买 nike

一旦另一个进程退出,我想运行一个进程。
例如,如果我正在运行一个 Node JS 文件并按下 CTRL + C,它应该关闭当前文件并从另一个 JS 文件运行另一个进程
类似的东西(伪代码):

process.on('exit', () => {
console.log("exiting")
}).then( //I am conscious it's wrong to put like that

//open another js file and run this process

);


最佳答案

不,这是不可能的,因为 process是一个代表当前 Node.js 进程的全局对象(阅读更多关于它的信息 in the official docs )。当该进程退出时,您的脚本就结束了,因此在那之后不可能做任何事情。
但是,您可以从调用 Node.js 脚本的地方运行某些内容,因为在脚本退出后调用者可能仍在运行。这可能是一个 bash 脚本、另一个 Node.js 进程或其他东西。
或者,您可以在 process.on('exit', () => {...}) 的回调中生成一个新的独立进程。就像下面的片段一样(阅读更多关于 in the official docs 的信息):

const spawn = require('child_process').spawn;

process.on('exit', () => {
const child = spawn('node', ['some_other_script.js'], {
detached: true,
stdio: 'ignore'
});

child.unref();
});
严格来说,这不是“在”进程退出之后——而是在父进程退出之前。不过,我认为这对您的示例没有任何影响。

关于javascript - 如何在 Node 中的 process.exit 之后启动另一个进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68098700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com