cygwin - Cygwin:列出进程及其正在访问的文件
问题描述
我正在寻找一种列出指定运行进程使用的所有文件的方法
我有一个脚本可以循环到存档目录树(每天一个目录)中的 zip 文件并提取一些信息
该脚本需要很长时间,所以我以“nohup ./script.sh &”格式执行它
我想知道是否有一个命令显示当前正在处理哪个 zip 文件“unzip -p”
我已经尝试了 ps --help 中提到的所有参数,但都没有成功。
是否有任何其他命令显示特定进程当前正在使用哪些文件?
提前致谢,节日快乐
解决方案
使用/proc
带有进程 PID 的文件系统
在此示例中,我使用了 PID 10904 的较少进程
$ ps | grep less
I 10904 15292 10904 9792 pty3 197609 12:00:17 /usr/bin/less
$ ls /proc/10904/fd/
0 1 2 3 4
$ ls -l /proc/10904/fd/4
lrwxrwxrwx 1 Marco Kein 0 Dec 24 12:02 /proc/10904/fd/4 -> /tmp/test5-b2.txt
推荐阅读
- solr - solr:使用带有 edismax 的 MLT,有没有办法获取有趣的术语然后传递给 edismax 常规查询?
- python - 有没有一种方法可以计算特定列中特定单词每天出现的次数?
- python - 坚持创建骰子滚轮
- c# - EF Core - 基于租户的 AutoInc 字段
- java - 使用 JDBC 将数据添加到 postgreSQL 中的表的正确方法?
- spring-mvc - 如何从下拉列表中传递值
- python-3.x - Python,scipy - 如何使用分段函数和需要计算的条件参数来拟合曲线?
- python - 将字符串写入 CSV 时转义逗号
- c# - 如何使用实体框架 2.2.2 和 MySql 连接器将“int unsigned”类型的列映射到“long”
- javascript - 是否可以直接从 Chrome 扩展程序向 Google Cloud AutoML API 发送查询?