linux打开一个程序文件_如何查找Linux程序打开的文件?

linux打开一个程序文件

How to find which files are opened by a Linux program? For example, when I run cat ~/.bashrc, how to find out which files are opened by cat?

如何查找Linux程序打开的文件 ? 例如,当我运行cat ~/.bashrc ,如何找出cat打开了哪些文件?

You can achieve this by using strace if the program “open” files using system calls.

如果程序使用系统调用“打开”文件,则可以通过使用strace来实现。

For example, I run as this:

例如,我这样运行:

strace -o /tmp/st cat ./.bashrc
grep "^open" /tmp/st

It will prints out:

它将打印出:

open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
open("./.bashrc", O_RDONLY)             = 3

These files are opened. You can inspect the trace file (/tmp/st) to check all system called invoked by the command (cat here).

这些文件被打开。 您可以检查跟踪文件(/ tmp / st),以检查命令调用的所有系统(此处为cat)。

Answered by Eric Z Ma.
埃里克·马(Eric Z Ma)回答。

翻译自: https://www.systutorials.com/how-to-find-which-files-are-opened-by-a-linux-program/

linux打开一个程序文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值