• strace命令基本用法


    简介

     strace是一个可用于诊断、调试和教学的Linux用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等

    strace的两种运行模式

    1、直接追踪某些命令的执行

    语法

    strace <待追踪的命令>

    例如

    [root@iZzm446eh1ux98Z ~]# strace ls /

    2、追踪某个守护进程

    语法

    strace -p pid

     strace常用选项

    从实例中看:

    strace -tt -T -v -f -e trace=file -o /data/log/strace.log -s 1024 -p 23489
    -tt  在每行输出的前面,显示毫秒级别的时间
    -T   显示每次系统调用所花费的时间
    -v   对于某些相关调用,把完整的环境变量,文件stat结构等打出来。
    -f   跟踪目标进程,以及目标进程创建的所有子进程
    -e   控制要跟踪的事件和跟踪行为,比如指定要跟踪的系统调用名称
    -o   把strace的输出单独写到指定的文件
    -s   当系统调用的某个参数是字符串时,最多输出指定长度的内容,默认是32个字节
    -p   指定要跟踪的进程pid, 要同时跟踪多个pid, 重复多次-p选项即可。

    strace的-e trace选项

    要跟踪某个具体的系统调用,-e trace=xxx即可。但有时候我们要跟踪一类系统调用,比如所有和文件名有关的调用、所有和内存分配有关的调用。strace提供了几类常用的系统调用组合名字。

    -e trace=file     跟踪和文件访问相关的调用(参数中有文件名)
    -e trace=process  和进程管理相关的调用,比如fork/exec/exit_group
    -e trace=network  和网络通信相关的调用,比如socket/sendto/connect
    -e trace=signal    信号发送和处理相关,比如kill/sigaction
    -e trace=desc  和文件描述符相关,比如write/read/select/epoll等
    -e trace=ipc 进程见同学相关,比如shmget等

    关于经典网络网卡启动的问题在日记里

  • 相关阅读:
    Oracle基础知识整理
    linux下yum安装redis以及使用
    mybatis 学习四 源码分析 mybatis如何执行的一条sql
    mybatis 学习三 mapper xml 配置信息
    mybatis 学习二 conf xml 配置信息
    mybatis 学习一 总体概述
    oracle sql 语句 示例
    jdbc 新认识
    eclipse tomcat 无法加载导入的web项目,There are no resources that can be added or removed from the server. .
    一些常用算法(持续更新)
  • 原文地址:https://www.cnblogs.com/zh-dream/p/13288455.html
Copyright © 2020-2023  润新知