Linux 如何查看在应用程序命令期间访问哪些文件?

Linux 如何查看在应用程序命令期间访问哪些文件?,linux,linux-device-driver,Linux,Linux Device Driver,如果我在Linux中运行某个命令行应用程序,如何判断该进程读取和/或写入了哪些文件?我想我需要在文件系统驱动程序中放置一些钩子,然后重新编译内核,或者类似的东西?有更简单的方法吗?是一个命令,它将显示应用程序进行的每个系统调用 从手册页: 在最简单的情况下,strace运行指定的命令,直到退出。它拦截并记录进程调用的系统调用和进程接收的信号。每个系统调用的名称、参数及其返回值都打印在标准错误或使用-o选项指定的文件中 例如,每个打开、读取和写入操作都将显示参数和返回代码。是一个命令,它将显示应用

如果我在Linux中运行某个命令行应用程序,如何判断该进程读取和/或写入了哪些文件?我想我需要在文件系统驱动程序中放置一些钩子,然后重新编译内核,或者类似的东西?有更简单的方法吗?

是一个命令,它将显示应用程序进行的每个系统调用

从手册页:

在最简单的情况下,strace运行指定的命令,直到退出。它拦截并记录进程调用的系统调用和进程接收的信号。每个系统调用的名称、参数及其返回值都打印在标准错误或使用-o选项指定的文件中

例如,每个打开、读取和写入操作都将显示参数和返回代码。

是一个命令,它将显示应用程序进行的每个系统调用

从手册页:

在最简单的情况下,strace运行指定的命令,直到退出。它拦截并记录进程调用的系统调用和进程接收的信号。每个系统调用的名称、参数及其返回值都打印在标准错误或使用-o选项指定的文件中


比如说,每开一家,,读写操作将显示参数和返回代码。

您可以通过linux is示例列表中的lsof命令获取应用程序的文件访问列表。

您可以通过linux is示例列表中的lsof命令获取应用程序的文件访问列表,strace也许ltrace也会有用!,fs_用法可用于进程1234的目录/proc/1234/,尤其是打开的文件描述符可从/proc/1234/fd/获得;从程序内部可以使用/proc/self/fd/。看


也许或者也相关。

除了提到lsof的其他答案外,strace也许ltrace也会有用!,fs_用法可用于进程1234的目录/proc/1234/,尤其是打开的文件描述符可从/proc/1234/fd/获得;从程序内部可以使用/proc/self/fd/。看


也许或也相关。

使用或可能?你到底问什么?为何具体的用例是什么?你的问题很广泛…@BasileStarynkevitch好吧,我想知道这个程序需要什么。你只知道你的程序的特定运行需要什么!使用还是可能?你到底为什么要问?为何具体的用例是什么?你的问题很广泛…@BasileStarynkevitch好吧,我想知道这个程序需要什么。你只知道你的程序的特定运行需要什么!是的,就是这样,我问他们。我不想跟程序赛跑。答案只有在进程运行时才起作用,方法是启动另一个命令。是的,就是它,我问你是否被访问过。我不想跟程序赛跑。只有在进程运行时,通过启动另一个命令,答案才会起作用。