如何自动重启nodejs cli脚本
How to automatically restart nodejs cli script
是否可以在执行完代码后自动重启节点 cli 脚本?
我有这个 cli 脚本,它将 运行 直到变量达到限制
const maxExecution = 200;
let i = 0;
let task = setInterval( () => {
i++;
if( i >= maxExecution ){
clearInterval(task);
}
// code here...
},5000);
此代码可以正常工作,并会在 i
变量达到设定限制时停止任务。我正在阅读 this question 如何管理 process.exit
。是否有任何事件可以让我了解脚本执行是否已结束?
当我使用 node<=10(可能在 6 ~ 10 之间,不太确定)时,我有这个代码(typescript
,不是普通的 nodejs
),它可以在-需求:
import { spawn } from "child_process";
let need_restart:boolean=false;
process.on("exit",function(){
if(need_restart){
spawn(process.argv.shift(),process.argv,{
"cwd":process.cwd(),
"detached":true,
"stdio":"inherit"
});
}
});
它是http/ws服务器的一部分,当所有服务器关闭(没有更多事件)时,进程自动退出。通过将 need_restart
设置为 true
,它会在发生这种情况时自行重启。
我已经有一段时间没有使用 node 了,所以我不确定这是否仍然适用于更高版本,但我认为这里值得一提。
是否可以在执行完代码后自动重启节点 cli 脚本?
我有这个 cli 脚本,它将 运行 直到变量达到限制
const maxExecution = 200;
let i = 0;
let task = setInterval( () => {
i++;
if( i >= maxExecution ){
clearInterval(task);
}
// code here...
},5000);
此代码可以正常工作,并会在 i
变量达到设定限制时停止任务。我正在阅读 this question 如何管理 process.exit
。是否有任何事件可以让我了解脚本执行是否已结束?
当我使用 node<=10(可能在 6 ~ 10 之间,不太确定)时,我有这个代码(typescript
,不是普通的 nodejs
),它可以在-需求:
import { spawn } from "child_process";
let need_restart:boolean=false;
process.on("exit",function(){
if(need_restart){
spawn(process.argv.shift(),process.argv,{
"cwd":process.cwd(),
"detached":true,
"stdio":"inherit"
});
}
});
它是http/ws服务器的一部分,当所有服务器关闭(没有更多事件)时,进程自动退出。通过将 need_restart
设置为 true
,它会在发生这种情况时自行重启。
我已经有一段时间没有使用 node 了,所以我不确定这是否仍然适用于更高版本,但我认为这里值得一提。