#!/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();