zoukankan      html  css  js  c++  java
  • strace

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

    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 ", 4) = 4
    write(1, "1111 ", 5) = 5
    select(0, NULL, NULL, NULL, {2, 0}) = 0 (Timeout)
    write(1, "222 ", 4) = 4
    write(1, "1111 ", 5) = 5
    select(0, NULL, NULL, NULL, {2, 0}) = 0 (Timeout)
    write(1, "222 ", 4) = 4
    write(1, "1111 ", 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包含了进程的内存使用信息

  • 相关阅读:
    多线程在javaweb中的应用
    Class类是什么? Class.forName()是干什么的?
    JDBC学习笔记
    jsp
    VMware虚拟机中red hat linux ping不通宿主物理主机原因
    数据库设计原则(装载)
    PHP实现正态分布的累积概率函数
    如何正确配置 Nginx + PHP ???
    PHP针对二维数组无限遍历变形研究
    easyui常用控件及参数说明
  • 原文地址:https://www.cnblogs.com/testzcy/p/12638187.html
Copyright © 2011-2022 走看看