如何挂起SIGTSTOP上的node.js进程

我正在构build一个node.js中的小工具,它需要监听按键来执行一些function。

为此我使用keypress库。 我知道如何设置关键侦听器并侦听ctrl + C组合键来退出进程(使用process.exit() ):

 import keypress from 'keypress'; const stdin = process.stdin; keypress(process.stdin); process.stdin.setRawMode(true); process.stdin.on('keypress', function(ch, key) { if ( key && key.ctrl ) if ( key.name == 'c') { console.log('quitting...'); process.exit(); } else { console.log('suspending...'); // WHAT TO DO? } } else if ( ch ) { my_functionality(ch); } }); 

我也听ctrl + Z来暂停进程,但我不知道执行什么代码来暂停进程。

我看到两个可能的解决scheme,但我不知道如何实现它们中的任何一个:

  • 只听'正常'按键,让节点处理特殊的button,如ctrl + Cctrl + Z ,所以它可以只是做它的默认行为。
  • 知道执行什么代码来模拟节点收到SIGSTOP时默认的挂起行为。

你要…

 process.kill(process.pid, 'SIGSTOP');