Node.js: Wykrywanie pliku, który został otwarty za pomocą fs.createWriteStream (), zostaje usunięty

Powiedz, że mam następujący program Node, maszynę, która idzie „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);

Co sekundę wydrukuje wiadomość na konsoli, a także doda ją do pliku dziennika (który w razie potrzeby utworzy podczas uruchamiania). Wszystko działa świetnie.

Ale teraz, jeśli usunęmachine.log plik w trakcie działania, będzie kontynuował buczenie, ale zapisy już się nie powiodą, ponieważ plik zniknął. Ale wygląda na to, że zapisy zawodzą bezgłośnie, co oznacza, że ​​musiałbym wyraźnie sprawdzić ten warunek. PrzeszukałemDokumenty strumieniowe ale nie wydaje się, aby znaleźć oczywiste zdarzenie, które jest emitowane, gdy tego typu rzeczy występują. Zwracana wartośćwrite() jest również nieprzydatny.

Jak mogę wykryć, kiedy plik, do którego piszę, jest usuwany, więc mogę spróbować ponownie otworzyć lub odtworzyć plik? To jest pole CentOS, jeśli jest to istotne.

questionAnswers(1)

yourAnswerToTheQuestion