Como descobrir o deslocamento de um arquivo aberto?

Como descobrir o deslocamento de um arquivo aberto?

Meu problema é que lsof -p pid consigo descobrir a lista de arquivos abertos de um processo cujo id de processo é pid. Mas existe uma maneira de descobrir o deslocamento de cada arquivo acessado?

Por favor me dê algumas sugestões ?

Responder1

No Linux, você pode encontrar a posição do número do descritor de arquivo Ndo processo PIDem /proc/$PID/fdinfo/$N. Exemplo:

$ cat /proc/687705/fdinfo/36
pos:    26088
flags:  0100001

O mesmo arquivo pode ser aberto várias vezes com posições diferentes usando vários descritores de arquivo, portanto você terá que escolher o relevante caso haja mais de um. Usar:

$ readlink /proc/$PID/fd/$N

para saber qual é o arquivo ao qual o descritor de arquivo correspondente está anexado (pode não ser um arquivo, neste caso o link simbólico está pendente).

Responder2

lsofpode fazer isso, com a -oopção.

No Linux, ele obtém informações de /proc, então você podepegue látambém.

informação relacionada