编辑1

使用给定的参数时遇到问题。也许这是我通过NSTask传递参数的方式吗?关于如何执行此操作的任何建议?

NSTask *file_Task = [NSTask new];
[file_Task setLaunchPath:@"/usr/sbin/lsof"];
[file_Task setArguments:[NSArray arrayWithObjects:@"+p", the_Pid, nil]];

下午好,各位编码员。

我正在使用以下命令:
lsof +p 13812

获取进程访问的文件列表。问题是它给了我很多我不想要的其他信息,例如TYPE,DEVICE等。

我可以在上面的命令中添加一个参数,以便仅将 NAME 拿到吗?

谢谢你,谢谢你,谢谢你! :)

埃里克

最佳答案

您可以使用:

lsof -Fn +p 12345

这将输出行列表,第一行是p,后跟进程ID,
以及以下所有由n和文件名组成的行。

如果您想对此进行快速预处理,则可以执行以下操作:
lsof -Fn +p 12345 | tail -n +2 | cut -c2-

有关更多信息,请参见 lsof man page,尤其是在OUTPUT FOR OTHER PROGRAMS标题下。

关于unix - 使用lsof获取文件名列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3567124/

10-12 19:10