码迷,mamicode.com
首页 > 其他好文 > 详细

strace

时间:2020-04-05 18:53:46      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:文件描述符   符号   sof   pstree   运算   内存   线程   符号连接   变量   

程序是一些保存在磁盘上的指令的有序集合,是静态的。
进程是程序执行的过程,包括了动态创建、调度和消亡的整个过程,它是程序资源管理的最小单位。
线程是操作操作系统能够进行运算调度的最小单位

ps -ef

strace:跟踪进程内部的系统调用和信号
1)启动新的进程:strace python sdf.py
2)附着到已启动的进程上:strace -p pid :看到进程执行时候都调用了哪些系统调用

root@ip-10-138-0-103:/home/ubuntu/zcy# strace -p 25165
strace: Process 25165 attached
select(0, NULL, NULL, NULL, {0, 156808}) = 0 (Timeout)
write(1, "222\n", 4) = 4
write(1, "1111\n", 5) = 5
select(0, NULL, NULL, NULL, {2, 0}) = 0 (Timeout)
write(1, "222\n", 4) = 4
write(1, "1111\n", 5) = 5
select(0, NULL, NULL, NULL, {2, 0}) = 0 (Timeout)
write(1, "222\n", 4) = 4
write(1, "1111\n", 5) = 5

pstack可以看到进程内启动的线程号,每个进程内线程的「堆栈」内容也能看到
pstack pid

pstree按树形结构打印运行中进程结构信息
pstree -p pid


/proc/pid/environ 包含了进程的可用环境变量的列表
/proc/pid/cmdline 该文件保存了进程的完整命令行
/proc/pid/cwd一个符号连接, 指向进程当前的工作目录
/proc/pid/exe包含了正在进程中运行的程序链接
/proc/pid/fd/ 这个目录包含了进程打开的每一个文件的链接。从这里可以查看进程打开的文件描述符信息,包括标准输入、输出、错误流,进程打开的socket连接文件描述符也能看到,lsof命令也有类似的作用。
/proc/pid/mem包含了进程在内存中的内容
/proc/pid/statm包含了进程的内存使用信息

strace

标签:文件描述符   符号   sof   pstree   运算   内存   线程   符号连接   变量   

原文地址:https://www.cnblogs.com/testzcy/p/12638187.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!