O que exatamente é um deslocamento de arquivo na saída lsof?

2

Eu estava usando lsof para rastrear arquivos excluídos que ainda estavam ocupando espaço e percebi que não tinha certeza do que é um deslocamento em relação a um arquivo. A página de manual do lsof foi menos do que útil a esse respeito e, pesquisando ao redor, não consegui obter uma visão clara do que é.

O que é um deslocamento de arquivo e por que é útil ter essa informação?

    
por Sean 11.06.2015 / 01:58

2 respostas

4

O offset é a posição atual no arquivo, mantida pelo kernel para um determinado descritor de arquivo (veja o lseek(2) manpage para detalhes).

Por que é útil na saída de lsof , não tenho certeza. Ele pode dar uma idéia do progresso de um processo por meio de um arquivo, embora ele não abranja todos os casos (arquivos mapeados na memória não mostrarão alterações de deslocamento).

    
por 11.06.2015 / 07:27
0

A resposta de Stephen Kitt está próxima, mas não completamente correta; se lermos lseek (2) com mais cuidado, nós vai ver que realmente diz (negrito meu):

The lseek() function repositions the file offset of the open file description associated with the file descriptor fd [...]

Então, o que é uma "descrição de arquivo aberto" e como ela se relaciona com um "descritor de arquivo"?

Bem, na seção NOTES, encontramos:

See open(2) for a discussion of the relationship between file descriptors, open file descriptions, and files.

Perfeito! No entanto, em vez de colar uma parede de texto a partir da página do manual, basta ligar para uma boa resposta para" O que é uma descrição de arquivo aberto? " que explica a mesma coisa.

    
por 26.02.2017 / 07:02