问题
In a node script, I have spawned a child process which executes a batch file run.bat , to terminate the program started by the batch-file i need to send ctrl+c combination to the child process , it is required for me to send ctrl+c combination to the program using stdin.write() method.
var hmc = require('child_process').spawn('cmd');
hmc.stdin.write('run.bat \n');
回答1:
A CTRL+C is equivalent to sending a SIGINT
on Windows. Rather than trying to send a keystroke to the process, you can send a signal instead. This can either be done with a child process method or from other processes, provided that you have the process ID of the child:
hmc.kill('SIGINT');
// or from another process
process.kill(hmc.pid, 'SIGINT');
来源:https://stackoverflow.com/questions/19406887/sending-crtlc-to-a-node-js-spawned-childprocess-using-stdin-write