gpt4 book ai didi

node.js - 在 Windows 中终止正在运行的 Node 进程

转载 作者:搜寻专家 更新时间:2023-11-01 00:24:49 24 4
gpt4 key购买 nike

我正在尝试从 Windows 中正在运行的 Node 服务器停止 Node 脚本

node appium -p 3000 运行脚本

它会一直处于运行状态直到它停止我需要在特定情况下停止运行此脚本在 Windows 中如何终止此 Node 脚本 node appium -p 3000我不需要使用 PID 来终止它。是否有任何可能的方法来终止正在运行的进程

代码

    var start = spawn('node appium -p 3000', args);
start.stdout.on('data', function(data) {
console.log(data)
});
start.stderr.on('data', function(data) {
console.log('ps stderr: ' + data);
});
start.on('close', function(code) {
console.log('process exit code ' + code);
});


function killall(){

start.kill()//is it possible??/
process.exit() //is it also possible??

}

最佳答案

  • 通过PID杀死它

    Stop-Process 3512
  • 按进程名杀掉

    Stop-Process -processname node*
  • 如果它是作为 child_process

    启动的,让其他人杀死它
    var exec = require('child_process').exec;

    var child = exec('node appium -p 3000');

    // Kill after 3 seconds
    setTimeout(function(){ child.kill(); }, 3000);
  • 自杀

    process.exit();
  • 如果它不是后台进程,则使用 CTRL+C 将其终止。

您在评论中指出它确实是作为子进程启动的,但您需要在另一个函数中将其终止。这是一个可变范围的问题。以下将工作:

function launch(){
var child = spawn(cmd, args);
}

function kill(){
child.kill(); // child is undefined
}

你只需要确保 child 存在于你的范围内:

var child;

function launch(){
child = spawn(cmd, args);
}

function kill(){
child.kill();
}

关于node.js - 在 Windows 中终止正在运行的 Node 进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25154690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com