Um 'arquivo' gera seu conteúdo sob demanda? [duplicado]

6

Existe uma maneira que eu possa ter algo que apareça como um arquivo, mas ao ser lido algum código é executado que preenche o conteúdo do arquivo "on the fly"?

Como FIFO / named pipe, mas sem a necessidade de iniciar o processo de escrita manualmente.

Ou como CGI em servidores da Web, mas no sistema de arquivos local.

EDIT:
Para me proteger contra "porque eu quero isso" -doubts:
Eu quero que isso seja capaz de ter um audiofile cujo conteúdo é gerado no acesso e, em seguida, entregue ao player de áudio. E não deve ser streaming, já que, quando acessado pelo player de áudio, a duração do áudio deve ser conhecida.

    
por Golar Ramblar 02.04.2016 / 12:27

1 resposta

8

Se você estiver disposto a fazer alguma codificação, a chamada de sistema fanotify permite escrever um programa que irá interceptar leituras em qualquer arquivo abaixo de algum ponto de montagem e substituir ou manipular os dados antes de retorná-los. Veja man fanotify , por exemplo, código C.

Alternativamente, você pode montar um sistema de arquivos fuse , veja man fuse , que permite implementar um sistema de arquivos por um programa userspace. Por exemplo, curlftpfs (consulte a man page) converte acessos a arquivos em chamadas curl ftp.

    
por 02.04.2016 / 12:59

Tags