【问题标题】:can i catch the syscalls executed by linux program in an own c program?我可以在自己的 c 程序中捕获 linux 程序执行的系统调用吗?
【发布时间】:2018-04-04 07:46:45
【问题描述】:

我想问一下是否有可能在 linux 上捕获另一个程序执行的系统调用? 这样我就可以监控程序在系统上做了什么。

我已经查看了 /proc/pid/ 文件,但没有找到与此相关的任何内容。

我想用 c 语言自己编程。

【问题讨论】:

  • man strace....

标签: c linux operating-system system-calls


【解决方案1】:

对于非编程用途,您需要the strace command line utility,但对于编程用途,您可能需要查看the ptrace system call。他们都可以监控选择加入监控的进程(如果它们是由strace 启动的,或者在fork 之后,exec 之前通过ptrace 选择加入,则可以在没有该进程直接合作的情况下进行监控),或具有足够权限的现有进程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多