2015-07-16 2 views
1

Я создаю небольшой инструмент в node.js, который должен прослушать нажатия клавиш для выполнения некоторых функций.Как приостановить процесс node.js на SIGTSTOP

С этой целью я использую библиотеку 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, чтобы приостановить процесс, , но я не знаю, какой код выполнить, чтобы приостановить процесс.

Я вижу два возможных решения, но я не знаю, как реализовать любого из них:

  • слушать «нормальные» только нажатия и пусть процесс узла специальные, как Ctrl + C и ctrl + Z, поэтому он может просто выполнять свое поведение по умолчанию.
  • знать, какой код выполнить для эмуляции поведения подвески, который равен по умолчанию, когда узел получает SIGSTOP.

ответ

Смежные вопросы