javascript - 使用 pm2 api 在 node.js 中重新启动用户选择的 pm2 应用程序
问题描述
当列表中有一堆其他应用程序时,我们如何使用 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
推荐阅读
- java - 使用线程时并发 RejectedExecutionException
- excel - 如何复制行并将它们粘贴到给定单元格值的工作表中
- javascript - Chart.js 压缩条形图上的垂直轴
- set - 集合 {x,x} 是 {x} 的子集吗?
- python - 按 ID 将两个数据框与 pandas 合并
- node.js - 不断显示节点队列上的内容的最佳方式(使用瓶颈)
- ruby-on-rails - 下载包含大量动态生成的 PDF 的 ZIP 文件的最佳方法是什么?
- r - 如何从另一个栅格计算土地覆盖值?
- css - 为 SASS 中的每个规则添加前缀
- flutter - 导航器将所选收音机或文本的值传递到颤动的下一页