#!/usr/bin/env node
/*
// 本目录 是管理node 服务器,使用pm2
// 通过package.json 里script 命令pm2 会调用 processes.json 配置
// 然后 processes.json 配置 里 script选项会找到 这个文件执行
'use strict';
*/
var cp = require('child_process');
const packageCfg = require('../package.json');
const processesCfg = require('../processes.json');
let args = processesCfg.apps[0].args.split(' ');
let port = args[args.length-1];
//通过端口获取 进程id
const GetPortProcessId = function (port,projectName,user) {
//`netstat -antp|grep ":::${port}" | awk '{print $7}'`
// pm2 ls |grep vite-0000206-jwjx | awk '{print $12}'
let res = cp.spawnSync(`pm2 ls |grep vite-${user}-${projectName} | awk '{print $12}'`, [], {
encoding: 'utf8',
// stdio: ['inherit','pipe'],
stdio: 'pipe',
// 仅在当前运行环境为 Windows 时,才使用 shell
shell: process.platform === 'win32' ? true : '/bin/sh'
})
,processId=0;
if (res.stdout) {
processId = res.stdout.split('/')[0]
}
return processId;
}
function start(){
require('vite/bin/vite.js');
}
//判断占用,找到进程
// let processId = GetPortProcessId(port, packageCfg.name, packageCfg.author);
// if (processId > 1) {
// // cp.spawnSync(`kill -9 ${processId}`, [], {
// // encoding: 'utf8',
// // stdio: 'pipe',
// // shell: process.platform === 'win32' ? true : '/bin/sh'
// // })
// }
start();