gpt4 book ai didi

linux - 在 Linux(通常是 POSIX)中,如何确定线程是否在系统调用中?

转载 作者:太空狗 更新时间:2023-10-29 11:15:29 27 4
gpt4 key购买 nike

我必须知道线程当前是否正在执行系统调用(例如读/写/等),方法是了解它的 tid。有没有办法在 Linux 中做到这一点?

最佳答案

这应该列出线程的状态代码

ps -p<pid> -o stat

两个相关的代码是:

D    uninterruptible sleep (usually IO)
S interruptible sleep (waiting for an event to complete)

编辑:如果您想以编程方式获得确切的系统调用,您可以按照建议使用 ptrace 并阅读 EAX,您还应该使用 PTRACE_SYSCALL标志让进程在下一个系统调用入口处停止。

关于linux - 在 Linux(通常是 POSIX)中,如何确定线程是否在系统调用中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13364535/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com