Как запустить функцию скрипта, который уже запущен из консоли | NodeJS
nodejs скрипт был запущен на сервере через консоль.
nodejs script.js
Можно ли как-то прям из консоли выполнить одну из функцию этого скрипта?
Например:
//script.js
let timer = null;
function stopLoop() {
self.clearInterval(timer);
timer = null;
}
timer = self.setInterval(() => {
console.log('loop');
}, 1000);
<div>Без него не дает вставить фрагмент</div>
Запускаю скрипт:
nodejs script.js
И в любой момент времени вызываю его функцию:
nodejs script.js:stopLoop
Возможно ли такое реализовать?
Ответы (1 шт):
Автор решения: ksa
→ Ссылка
Как запустить функцию скрипта, который уже запущен из консоли
Для этого сам скрипт должен уметь обрабатывать ввод из той консоли. Вот небольшой пример. Вводи команды (stop
или close
) скрипт будет реагировать на них
const readline = require('node:readline/promises')
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.on('line', line => {
const com = line.toLowerCase()
if (com === 'stop') stopLoop()
if (com === 'close') rl.close()
});
rl.on('close', _ => {
console.log('Обработка ввода завершена');
});
const timer = setInterval(() => {
console.log('loop');
}, 1000);
function stopLoop() {
clearInterval(timer);
console.log('Таймер остановлен');
}