Я создаю небольшой инструмент в 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
.