O arquivo pode ser acessado através do sistema de arquivos /proc
: você já conhece o PID e o FD da saída lsof
.
cat /proc/21742/fd/5
Eu tenho um trabalho crontab de uma hora que funciona com uma saída mtr
( traceroute
) a cada 10 minutos (isso vai passar mais de uma hora antes de ser enviado de volta para mim), e eu quero para ver o progresso atual até agora.
No Linux, usei lsof -n | fgrep cron
( lsof
é semelhante a fstat
do BSD), e parece que eu encontrei o arquivo, mas ele foi anotado como tendo sido excluído (uma prática padrão para arquivos temporários). arquivos devem ser excluídos logo após a abertura):
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
...
cron 21742 root 5u REG 202,0 7255 66310 /tmp/tmpfSuELzy (deleted)
E não pode mais ser acessado pelo nome anterior:
# stat /tmp/tmpfSuELzy
stat: cannot stat '/tmp/tmpfSuELzy': No such file or directory
Como acesso um arquivo que ainda está aberto?
Tags data-recovery linux open-files