Junior — Middle
93
Linux-те процесс оқып жатқан файлдарды қалай анықтауға болады?
Сұралған компаниялар
AI-дан жауап
sobes.tech AI
В Linux можно определить файлы, которые в данный момент читаются процессом, с помощью каталога /proc. Для каждого процесса есть папка /proc/<pid>/fd/, где <pid> — идентификатор процесса. В этой папке находятся символьные ссылки на открытые файлы процесса.
Чтобы увидеть, какие файлы открыты процессом, можно выполнить:
ls -l /proc/<pid>/fd/
Для фильтрации файлов, которые именно читаются, можно использовать lsof (list open files) с фильтрацией по процессу:
lsof -p <pid>
В выводе lsof в колонке FD (file descriptor) есть суффиксы:
r— файл открыт на чтениеw— файл открыт на записьu— файл открыт на чтение и запись
Таким образом, файлы с r или u в этой колонке читаются процессом.
Пример:
lsof -p 1234 | grep 'r'
Это покажет файлы, которые процесс с PID 1234 читает.