1、说明

strace - trace system calls and signals

2、option

1)strace -p pid  跟踪某个后台进程

2)strace -o filename 把跟踪结果输出到文件

3)strace -T 记录每个系统调用花费的时间,可以看看哪个系统调用时间长

参考

4)strace -t(或者 -tt)记录每个系统调用发生是的时间(时分秒的格式)

5)strace -s 1024 显示系统调用参数时,字符串显示的长度,默认是32,如果字符串参数很长,很多信息显示不出来。

6)strace -e trace=nanosleep 只记录相关的系统调用信息。

-e trace=network // 只记录和网络api相关的系统调用

-e trace=file // 只记录涉及到文件名的系统调用

-e trace=desc // 只记录涉及到文件句柄的系统调用

=all //所有系统调用

=execve

-e trace=set 只跟踪指定set集中的系统调用。如:-e trace=open,close,

rean,write表示只跟踪这四个系统调用。默认的为set=all.

还有其他的包括process,ipc,signal等。

7)-f :除了跟踪当前进程外,还跟踪其子进程。

8)-u username -- run command as username handling setuid and/or setgid

3、示例

strace -o output.txt -T -tt -e trace=all -p 28979  //跟踪28979进程的所有系统调用(-e trace=all),并统计系统调用的花费时间,以及开始时间(并以可视化的时分秒格式显示),最后将记录结果存在output.txt文件里面。

4、strace

1)类似于windows下的processexp.exe

可以监控系统调用

2)类似于windows下的depand工具

可以检查程序的依赖库。比linux下的ldd更强大.

5、Linux内核会为每一个进程在/proc/建立一个以其pid为名的目录用来保存进程的相关信息,而其子目录fd保存的是该进程打开的所有文件的fd。

参考

【1】 http://blog.csdn.net/zdl1016/article/details/6359598

【2】 对strace给出了3个非常好的案例

http://www.linuxsense.org/archives/413.html

【3】 对命令做了一个详尽的列出,并给出实例

http://www.jb51.net/os/RedHat/1156.html

【4】 对参数作了独到的讲解和翻译

http://hi.baidu.com/edeed/blog/item/e3eba40f227021e6ab6457bf.html

【5】 http://blogimg.chinaunix.net/blog/upfile/070331234055.pdf

转载于:https://www.cnblogs.com/mydomain/archive/2011/09/27/2192903.html

34、linux shell,常用函数strace相关推荐

  1. linux shell常用函数,ps

    1.说明 report a snapshot of the current processes. ps [options] 2.常用option ① l  长格式输出: ② u  按用户名和启动时间的 ...

  2. 38、linux shell常用函数,nice

    1.优先级从-20到19.越大,优先级越低. 2.nice 可以在创建进程时,为进程指定谦让度(优先级)的增量值,进程的优先级的值是父进程SHELL的优先级的值与我们所指定谦让度的相加和. 3.示例 ...

  3. Linux Shell常用技巧(三) sed

    Linux Shell常用技巧(三) sed 八.流编辑器sed 8.1 sed简介 sed是stream editor的缩写,一种流编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区 ...

  4. Linux shell常用操作指令(0)

    首先,说一下我跟Linux的接触的历史吧!第一次接触是在大一下学期的3月份,当时我参加了一个科创学习,接触到了有小型计算机之称的树莓派,在那段时间跟随老师从一开始的给树莓派烧录镜像到树莓派的一些基本配 ...

  5. Linux Shell常用技巧(目录)

    Linux Shell常用技巧(一) http://liuxuyang.blog.51cto.com/2546552/1289413 一. 特殊文件: /dev/null和/dev/tty 二. 简单 ...

  6. 【shell 大系】Linux Shell常用技巧

    在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux ...

  7. Linux Shell常用技巧(九) 系统运行进程

    Linux Shell常用技巧(九) 系统运行进程 十九.  和系统运行进程相关的Shell命令:         1.  进程监控命令(ps):       要对进程进行监测和控制,首先必须要了解当 ...

  8. Linux Shell常用技巧(一)

    Linux Shell常用技巧 文章转载自:http://www.cnblogs.com/stephen-liu74/archive/2011/12/20/2285454.html 一.    特殊文 ...

  9. Linux shell 常用代码片断

    Linux shell 常用代码片断 参数输入 echo "input tips:" read input_variable echo "You entered: $in ...

  10. linux 变量函数返回值,linux shell 自定义函数(定义、返回值、变量作用域)介绍...

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ f ...

最新文章

  1. keras中lstm参数_如何使用Keras为自定义NER构建深度神经网络
  2. [Leetcode]笔记
  3. 《github一天一道算法题》:插入排序
  4. 云炬WEB开发教程2-2 node.js和npm介绍和安装
  5. Syntax Error: Error: Node Sass version 6.0.1 is incompatible with ^4.0.0.
  6. 关于Angular里给Component protected方法写单元测试的技巧
  7. vue组件命名指南,不为取名而纠结
  8. bzoj1925地精部落——数学
  9. 用u盘刻录装服务器系统盘,光盘系统刻录到U盘上教程
  10. 普元eos如何在日志文件中打印SQL语句及参数
  11. 【iOS沉思录】:iOS多媒体音频(下)-录音及其播放
  12. 什么是七模全网通DTU 全网通DTU特色功能
  13. 第六周博客作业西北师范大学|李晓婷
  14. 平均年薪40万!为什么却很少见程序员炫富?
  15. 金丝雀测试实践_金丝雀测试
  16. SVG格式文件可以用什么软件打开?
  17. 【注意】这款Python快递查询小系统超级好用:不信你自己试试?
  18. 【vue】手动实现vue的v-model语法糖,以及控制在输入法完成之后才更新model
  19. Tesra超算网络,招募内测用户,可优先体验免费GPU算力!
  20. Rabbit的工作原理

热门文章

  1. 使用Delphi开发linux应用
  2. mysql int类型 int(11) 和int(2)区别
  3. ZT“老师说,如果想念一个人,就响两下他/她的手机。”
  4. 【转】飞鸽端口号被占用时的解决方法
  5. [转]安装 phpmyadmin 无法载入 mcrypt 扩展 Mcrypt库安装
  6. STM32F407外部晶体改为25M后检测不到芯片的解决办法
  7. mui真机调试时无法查找到手机
  8. mybatis-generator-gui--一个mybatis代码自动生成界面工具
  9. Azure Storage架构介绍
  10. 如何检查Windows网络通信端口占用