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 N
do processo PID
em /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
lsof
pode fazer isso, com a -o
opção.
No Linux, ele obtém informações de /proc
, então você podepegue látambém.