微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 pm2 api

如何解决使用 pm2 api

当列表中有一堆其他应用程序时,我们如何使用 pm2 api 从 node.js 重新启动 pm2 应用程序,并且用户可以选择要重新启动的应用程序? -currentInfo 是包含进程信息的东西。

function restart(id) {
    for (const elem of currentInfo) {
        if (elem.pm_id == id) {
            pm2.restart(elem.name,function (err) {
                if (err) throw err
                console.log("app is restarted");
            });
        }
    }
}

解决方法

下面的代码将重新启动具有特定 id 的 pm2 应用程序(作为函数的参数)我希望这能解决您的问题。

function restartPm2(id) {
    return new Promise((resolve,reject) => {
        pm2.connect(function (err) {
            if (err) reject(err)
            pm2.list((err,list) => {
                if (err) reject(err)
                for (const iterator of list) {
                    if (iterator.pm_id == id) {
                        pm2.restart(iterator.name,function (err) {
                            if (err) reject(err)
                            resolve("app is restarted");
                        });
                    }
                }
            })
        })
    })
}

restartPm2(0).then(i => {
    console.log(i);
    pm2.disconnect()
}).catch(e => {
    console.log(e);
    pm2.disconnect()
})

其中 0 是应用程序 ID

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。