位置: 编程技术 - 正文

Linux中获取某个进程的系统调用以及参数(故障排查案例)

编辑:rootadmin

当一个程序发生故障时,有时候想通过了解该进程正在执行的系统调用来排查问题。通常可以用 strace 来跟踪。但是当进程已经处于 D 状态(uninterruptible sleep)时,strace 也帮不上忙。这时候可以通过来获取当前的系统调用以及参数。这里用最近排查的一个问题为例。碰到的问题是,发现一台服务器在执行 pvcreate 创建物理卷的时候卡死,进程状态为 D

D 状态实际是在等待系统调用返回。那么来看看究竟在等待什么系统调用

第一个数字是系统调用号,后面是参数。不同的系统调用所需的参数个数不同。这里的字段数是按最大参数数量来的,所以不一定每个参数字段都有价值。那么怎么知道系统调用号对应哪个系统调用呢?在头文件 /usr/include/asm/unistd_.h 中都有定义。也可以用个小脚本来快速查找:

对于不同的系统调用的参数,可以通过 man 2 <系统调用名> 查阅。如 man 2 read。对刚才那个例子来说,0 就对应了 read 调用。而 read 调用的第一个参数是文件描述符。

之后用 lsof 找到 7 对应的是什么文件

结果发现是个 device mapper 的设备文件。最后顺藤摸瓜,发现这个文件是 multipathd 创建的。而系统应当使用的是存储厂商提供的多路径软件。问题是由于同时开启了 multipathd 造成冲突导致的。

/proc/<PID>/syscall 对排查 D 状态进程很有用。不过在 2.6. 内核上并不支持,具体从哪个内核版本开始有这个功能,还没查到。不过至少从在 2.6. 以上版本都是支持的。

推荐整理分享Linux中获取某个进程的系统调用以及参数(故障排查案例),希望有所帮助,仅作参考,欢迎阅读内容。

Linux中获取某个进程的系统调用以及参数(故障排查案例)

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

在Shell中分割字符串的例子 比如,要分割test=aaa,bbb,cccc,dddd,可以这样arr=$(echo$test|tr",""n")还可以这样OLD_IFS=$IFSIFS=','arr=$testIFS=$OLD_IFS然后用forxin$arr;doecho$xdone看看效果或者更直接一

一个Linux系统安全设置的Shell脚本的分享(适用CentOS) 我们将常用的系统安全配置制作为一个shell脚本,只需要在服务器上运行这个shell脚本即可完成安全设置。linux的系统安全设置Shell脚本是第二次更新,已

简单的Linux查找后门思路和shell脚本分享 每个进程都会有一个PID,而每一个PID都会在/proc目录下有一个相应的目录,这是linux(当前内核2.6)系统的实现。一般后门程序,在ps等进程查看工具里

标签: Linux中获取某个进程的系统调用以及参数(故障排查案例)

本文链接地址:https://www.jiuchutong.com/biancheng/374865.html 转载请保留说明!

上一篇:Shell脚本获取进程的运行时间(shell脚本获取进程pid)

下一篇:一个Linux系统安全设置的Shell脚本的分享(适用CentOS)(安装两个linux)

  • 固定资产清理过程涉及的报表
  • 所得税会计与财务会计比较研究
  • 购买财务软件费用入什么科目
  • 混合销售行为的基本特征不包括
  • 所得税申报资产不允许为0?
  • 增值税征税范围中销售应税服务包括什么服务
  • 质量扣款能按折扣计算吗
  • 2019发票认证期限新规
  • 农业生产成本二级科目有福利费支出吗
  • 车船税是费用吗
  • 进项税当月申报怎么申报
  • 银行对个人借款的处理
  • 企业之间借款该怎么做账
  • 应收账款平均余额公式
  • 电商一般纳税人如何报税
  • 劳务分包发票税率是多少2020
  • 建筑安装施工过程
  • 政府补贴专项资金如何入账
  • 酒店装修费用会计处理
  • 契税和增值税的计税依据
  • 五险一金的会计分录怎么写
  • 表格怎样打印在一张a4纸上
  • 经常访问的网站怎么恢复
  • 销售方的现金折扣怎么处理
  • 行政事业单位职工体检依据
  • 长期股权投资凭证
  • 怎么u盘装系统,u盘装系统教程图解
  • 最高像素是什么
  • 收到捐赠的设备一台
  • 内置天线手机
  • PHP:imagecreatefromgd2part()的用法_GD库图像处理函数
  • php 跨域
  • element - - - - - 你不知道的loading使用方式
  • gpt3 模型大小
  • 基金管理人应当自与基金销售机构签订销售协议之日起
  • 如何修改php.ini
  • 基建拨款会计分录
  • 新旧所得税法转换规定
  • 小规模纳税人企业所得税优惠政策最新2023
  • 税种分类及其税率
  • React props全面详细解析
  • php5.6.和7.2区别
  • 原材料入库单价20000出库单价800000
  • 商业收入税收怎么收费
  • 个税申报怎样作废
  • 纳税申报表期末未缴税额什么意思
  • 贴现凭证的分录
  • 股权转让会计分录借银行存款
  • 小规模纳税人实行简易征收办法
  • 原材料当废品卖可以吗
  • 信用卡产生滞纳金
  • 金税盘抵扣在申报表哪填
  • 结转主营业务成本是什么意思
  • 年底结账会计要怎么做账
  • 餐费补贴是否计入成本
  • 营业外支出的具体内容
  • 简易征收可以抵税吗
  • 会计学主要是学什么
  • ubuntu20.04怎么用
  • windows vista界面
  • 最简单最快乐
  • bios setup在哪里
  • ubuntu静态ip地址
  • linux系统怎样安装
  • windowsxpsp3是什么版
  • win10专业版系统多少g
  • linux在网络方面的应用
  • windows 10 开始菜单
  • linux入门很简单
  • windows8ip地址怎么设置
  • EGL简介
  • jQuery.parseHTML() 函数详解
  • [置顶]津鱼.我爱你
  • 用nodejs搭建服务器
  • Python快速从注释生成文档的方法
  • 【Android】利用Notification操作设备的通知栏
  • 湖南税务发票查验平台官网
  • 境外承包工程款收入
  • 北京医保网上服务大厅
  • 什么是美国注册公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设