编辑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/