首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查看进程在当前时间执行的系统调用?

如何查看进程在当前时间执行的系统调用?
EN

Stack Overflow用户
提问于 2017-03-09 01:16:48
回答 3查看 10.7K关注 0票数 5

Linux实用程序" strace“显示在运行strace之后启动的syscall的列表。如何通过进程查看在当前时刻运行的syscall?在战略开始之前。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-18 17:03:01

proc提供了一些关于内核当前正在为进程执行的操作的信息

/proc/${pid}/syscall /proc/${pid}/stack

更多信息:

  • http://man7.org/linux/man-pages/man5/proc.5.html
  • http://blog.tanelpoder.com/2013/02/21/peeking-into-linux-kernel-land-using-proc-filesystem-for-quickndirty-troubleshooting/
票数 3
EN

Stack Overflow用户

发布于 2018-10-03 07:31:52

假设您知道of进程的PID,您可以简单地使用strace来跟踪实时进行的所有syscall。

strace -p PID

票数 2
EN

Stack Overflow用户

发布于 2017-08-18 17:15:03

您可以使用ps发现这一点

代码语言:javascript
复制
ps -p PID_OF_PROC -ocmd,stat,wchan

wchan是这里的关键。来自man ps

WCHAN 进程休眠的内核函数的名称,如果进程正在运行,则为"-“;如果进程为多线程且ps未显示线程,则为"*”。

stat 进程状态代码下面是s、STAT和STATE输出说明符(标题"STAT“或"S")将显示的不同值,用于描述进程的状态:

D不可中断休眠(通常是IO) R正在运行或可运行(在运行队列上)S可中断休眠(等待事件完成)T在跟踪W分页期间被调试器停止的作业控制信号t停止(自2.6.xx内核起无效)X已死(永远看不到)Z已死(“僵尸”)进程,当使用stat关键字时,可能会显示额外的字符:<高优先级(对其他用户不好)N低优先级(对其他用户很好)L将页面锁定到内存中(用于实时和自定义IO) s是会话领导者l是多线程(使用CLONE_THREAD,就像NPTL pthread一样)+在前台进程组中

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42677724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档