我需要计算当前会话中活动进程的打开文件。但只有普通文件。我不知道如何将 ps 命令与 lsof 命令“混合”。Lsof 不返回哪些进程属于当前会话。当我使用 ps 列出活动进程时,我不知道如何保存 pid 以使用 lsof 命令查找它。
问问题
63 次
我需要计算当前会话中活动进程的打开文件。但只有普通文件。我不知道如何将 ps 命令与 lsof 命令“混合”。Lsof 不返回哪些进程属于当前会话。当我使用 ps 列出活动进程时,我不知道如何保存 pid 以使用 lsof 命令查找它。
您可以将逗号分隔的 pid 列表传递给lsof
使用命令替换,如下所示:
lsof -p $(ps -o pid= | tr '\n' ',')
将环境变量用于当前进程(及其父进程)的 pid:$$(,$PPID)
lsof -R -p $$,$PPID
-R 告诉 lsof 打印 PPID 列