位置: 编程技术 - 正文

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)

  • 价外税怎么理解
  • 税后净利润怎么算股价
  • 出口佣金要交税吗
  • 城镇土地使用税纳税义务发生时间
  • 水利建设专项收入的税率是多少?
  • 其他应收款利息收入会计分录怎么写
  • 公司入股资金有发票吗
  • 出纳取备用金需要交税吗
  • 人员新增申报表
  • 加计扣除和研发费不一致
  • 报表申报错误怎么作废重报
  • 去年的增值税普票能作废吗?
  • 滞纳金可以个人承担吗
  • 房地产税和物业税
  • 管家婆进销存软件免费版
  • 建筑企业包工包料的税率
  • 处理固定资产一个月卖一点
  • 外包会计处理
  • 自创商誉企业所得税可以扣除吗
  • 承兑汇票打折支付如何账务处理?
  • 企业案例描述
  • 分公司可以单独签协议吗
  • 环评公司的成本核算
  • 红字专用发票信息表编号在哪儿
  • 银行发放贷款银行会计怎么做账务处理
  • 收到合同款
  • win11如何设置安装位置
  • win10粘贴复制无效
  • 其他业务支出包括的内容
  • 多台电脑如何共享一台惠普打印机
  • 公司社保钱可以套出来吗
  • 下岗职工生活费最多发多少个月
  • 公司怎么查已报销发票
  • php dicom
  • 股权转让有溢价分录怎么写
  • 增值税留抵抵欠流程
  • 个体户文化事业建设费免征
  • php生成随机字母数字代码
  • 预收账款和应收账款的转换
  • 华为od机试成绩什么时候出来
  • 游戏的系统架构
  • php session_id
  • pdclient
  • bug的定位和跟踪
  • 私募基金成立的规模条件
  • 建筑材料开票可以抵税吗
  • 小规模纳税人印花税减半征收政策
  • 预计表示什么意思
  • 合作社分红计入什么科目
  • 生产企业的生产许可证
  • 固定资产报废的账务处理
  • 融资租赁取得的机器设备的账务处理
  • 股权转让的资料有哪些
  • 税务局返还税款账务处理
  • 专票入账用哪一联
  • 企业购买土地时土地款缴纳的耕地占用税入账
  • 新企业办理金税盘流程
  • 从几个方面论述
  • Win10系统开机出现问题pin码不可用
  • mac的vmware
  • 在windows中用于显示正在运行的程序名称的栏称为
  • 邮件版本
  • redhat本地yum配置的基本步骤
  • 装win7系统对电脑有什么要求
  • [置顶]bilinovel
  • opengl oes纹理
  • js动态改变div内容
  • win7支持快速启动吗
  • socket.io与pm2(cluster)集群搭配的解决方案
  • python3m
  • jquery选择器大全
  • python怎么读取中文txt文本
  • 事件的分发与传播的关系
  • python bilt
  • 深圳市财政上交广东省吗
  • 重庆地方税务局发票查询
  • 账本遗失征管法处罚
  • 青海税务发票查询
  • 天津税务陈岩
  • 个人独资企业如何避税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设