【发布时间】:2018-04-04 07:46:45
【问题描述】:
我想问一下是否有可能在 linux 上捕获另一个程序执行的系统调用? 这样我就可以监控程序在系统上做了什么。
我已经查看了 /proc/pid/ 文件,但没有找到与此相关的任何内容。
我想用 c 语言自己编程。
【问题讨论】:
-
man strace....
标签: c linux operating-system system-calls
我想问一下是否有可能在 linux 上捕获另一个程序执行的系统调用? 这样我就可以监控程序在系统上做了什么。
我已经查看了 /proc/pid/ 文件,但没有找到与此相关的任何内容。
我想用 c 语言自己编程。
【问题讨论】:
man strace....
标签: c linux operating-system system-calls
对于非编程用途,您需要the strace command line utility,但对于编程用途,您可能需要查看the ptrace system call。他们都可以监控选择加入监控的进程(如果它们是由strace 启动的,或者在fork 之后,exec 之前通过ptrace 选择加入,则可以在没有该进程直接合作的情况下进行监控),或具有足够权限的现有进程。
【讨论】: