我试图在Windows
中从正在运行的节点服务器停止节点脚本将脚本作为node appium -p 3000
它将处于运行状态,直到它停止
我需要在特定情况下停止运行此脚本
在Windows中如何杀死此节点脚本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??
}
答案 0 :(得分:5)
通过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将其终止。
您在评论中表示它确实是作为子进程启动的,但您需要在另一个函数中将其杀死。这是一个可变范围的问题。以下将 NOT 工作:
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();
}