Linux实用程序" strace“显示在运行strace之后启动的syscall的列表。如何通过进程查看在当前时刻运行的syscall?在战略开始之前。
发布于 2017-08-18 17:03:01
proc提供了一些关于内核当前正在为进程执行的操作的信息
/proc/${pid}/syscall /proc/${pid}/stack
更多信息:
发布于 2018-10-03 07:31:52
假设您知道of进程的PID,您可以简单地使用strace来跟踪实时进行的所有syscall。
strace -p PID
发布于 2017-08-18 17:15:03
您可以使用ps发现这一点
ps -p PID_OF_PROC -ocmd,stat,wchanwchan是这里的关键。来自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一样)+在前台进程组中
https://stackoverflow.com/questions/42677724
复制相似问题