Node.js: обнаружение файла, открытого с помощью fs.createWriteStream (), который становится удаленным

Скажем, у меня есть следующая программа Node, машина с надписью «Ping!»:

var machine = require('fs').createWriteStream('machine.log', {
    flags    : 'a',
    encoding : 'utf8',
    mode     : 0644
});

setInterval(function () {
    var message = 'Ping!';
    console.log(message);
    machine.write(message + '\n');
}, 1000);

Каждую секунду он выводит сообщение на консоль, а также добавляет его в файл журнала (который он создает при запуске при необходимости). Все отлично работает.

Но теперь, если я удалюmachine.log файл во время работы процесса, он продолжит счастливо гудеть, но запись больше не будет успешной, потому что файл исчез. Но похоже, что запись молчит неудачно, а это значит, что мне нужно явно проверить это условие. Я искалПотоковые документы но не могу найти очевидное событие, которое испускается, когда происходит этот тип вещей. Возвращаемое значениеwrite() тоже не полезно.

Как я могу определить, удален ли файл, в который я пишу, и попытаться открыть или восстановить файл? Это коробка CentOS, если это актуально.

Ответы на вопрос(1)

Ваш ответ на вопрос