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, если это актуально.