Spaces:
Sleeping
Sleeping
import fs from 'node:fs' | |
import { exec } from 'node:child_process' | |
export async function checkRun () { | |
if (process.argv[1].includes('pm2')) return | |
if (process.argv[1].includes('test')) return | |
let cfg = pm2Cfg() | |
let status = await execSync(`pm2 show ${cfg.apps[0].name}`) | |
if (status.stdout.includes('online')) { | |
logger.mark('检测到后台正在运行') | |
logger.mark('已停止后台进程,防止重复运行') | |
execSync(`pm2 stop ${cfg.apps[0].name}`) | |
} | |
} | |
async function execSync (cmd) { | |
return new Promise((resolve, reject) => { | |
exec(cmd, (error, stdout, stderr) => { | |
resolve({ error, stdout, stderr }) | |
}) | |
}) | |
} | |
function pm2Cfg () { | |
let cfg = fs.readFileSync('pm2.json') | |
cfg = JSON.parse(cfg) | |
return cfg | |
} | |