答案1
答案2
如果你想查看正在打开的每个文件,你可以使用 进行过滤strace
。例如:
strace -p _pid_of_app_ -e trace=open,close
答案3
您可以将lsof
和结合起来watch
。
例如,watch "lsof -p 1234"
每 2 秒会为您提供 pid 1234 的所有打开文件的列表。您可以更改一些参数以满足您的需求。
答案4
我创建了一个 bash 文件,将命令的输出写入文件。文件是根据当前日期生成的。这里我计算了打开的文件数。
#!/bin/bash
while :
do
cd /proc/<PID>/fd
today=$(date +"%m-%d-%Y")
filename="/tmp/${today}.txt"
ls -l | wc -l >> "${filename}"
sleep 10
done