const pm2 = require('pm2') const { execSync } = require("child_process") function startPm2Process(process_name, file, path, env) { pm2.connect(function (err) { if (err) { console.error(err) // process.exit(2); } console.log('ENV PM2: ', env) pm2.start({ name: process_name, script: file, cwd: path, env // env: { // NODE_ENV: 'production', // PORT: port, // } // additional options here if needed }, function (err, apps) { if (err) { console.error(err) // process.exit(2); } else { execSync(`pm2 save --force`, { cwd: path }, (error, stdout, stderr) => { if (error) { console.log(`error: ${error.message}`) return } if (stderr) { console.log(`stderr: ${stderr}`) return } console.log(`stdout: ${stdout}`) }) } pm2.disconnect() }) }) } module.exports = startPm2Process