From 0cf8bc9ca93d1b56351b3ccbda3c2dbb8a8590e1 Mon Sep 17 00:00:00 2001 From: unknown <1371033826@qq.com> Date: Wed, 14 May 2025 10:49:24 +0800 Subject: [PATCH] log-pid-to-kill --- .gitignore | 3 ++- mixio.js | 46 +++++++++++++++------------------------------- package-lock.json | 10 +++++----- package.json | 2 +- 4 files changed, 23 insertions(+), 38 deletions(-) diff --git a/.gitignore b/.gitignore index 58228be..36c79e2 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ node_modules/ package-lock.json storage/ logs/ -config/ \ No newline at end of file +config/ +*.info \ No newline at end of file diff --git a/mixio.js b/mixio.js index 2972e93..9a6cfb5 100644 --- a/mixio.js +++ b/mixio.js @@ -2404,39 +2404,19 @@ var startMixIO = function() { } var stopMixIO = function() { - // kill 'mixio' process if it is running - if (process.argv[0].indexOf("node") != -1) { - if (process.platform == "win32") { - console.log("Shutting down MixIO server...") - exec('taskkill /F /IM node.exe', function(err, stdout, stderr) { - if (err) { - console.log(err) - } - }) + // try use pid.info to stop process + try { + var pid = fs.readFileSync("pid.info", 'utf8') + if (pid != "") { + // convert to int + pid = parseInt(pid) + process.kill(pid, 'SIGTERM') + console.log("MixIO server with PID " + pid + " is stopped.") } else { - console.log("Shutting down MixIO server...") - exec('pkill node', function(err, stdout, stderr) { - if (err) { - console.log(err) - } - }) - } - } else { - if (process.platform == "win32") { - console.log("Shutting down MixIO server...") - exec('taskkill /F /IM mixio.exe', function(err, stdout, stderr) { - if (err) { - console.log(err) - } - }) - } else { - console.log("Shutting down MixIO server...") - exec('pkill mixio', function(err, stdout, stderr) { - if (err) { - console.log(err) - } - }) + console.log("MixIO server is not running.") } + } catch (e) { + console.log("MixIO server is not running.") } } @@ -2516,6 +2496,10 @@ init(function(res) { } }) } else if (args[0] == "debug") { + // 记录当前的进程ID + console.log("[INFO] MixIO server is running with PID " + process.pid) + // 输出到当前目录下的pid.info文件 + fs.writeFileSync("pid.info", "" + process.pid) if (res) { daemon_start() startOnce() diff --git a/package-lock.json b/package-lock.json index 7c2d54a..1009730 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "1.10.0", "dependencies": { "aedes": "^0.51.3", - "axios": "^0.27.0", + "axios": "^0.27.2", "cors": "^2.8.5", "ejs": "^3.1.10", "express": "^4.21.2", @@ -854,10 +854,10 @@ "license": "MIT" }, "node_modules/axios": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.0.tgz", - "integrity": "sha512-XV/WrPxXfzgZ8j4lcB5i6LyaXmi90yetmV/Fem0kmglGx+mpY06CiweL3YxU6wOTNLmqLUePW4G8h45nGZ/+pA==", - "deprecated": "Formdata complete broken, incorrect build size", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "license": "MIT", "dependencies": { "follow-redirects": "^1.14.9", "form-data": "^4.0.0" diff --git a/package.json b/package.json index 984e724..8e714dd 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "dependencies": { "aedes": "^0.51.3", - "axios": "^0.27.0", + "axios": "^0.27.2", "cors": "^2.8.5", "ejs": "^3.1.10", "express": "^4.21.2",