位置: 编程技术 - 正文

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)

  • 缴纳印花税的会计凭证
  • 当月未抵扣的进项税
  • 简易计税是什么意思?
  • 营业成本包括哪些费用
  • 9月份扣什么税?
  • 报税界面
  • 公司注销之后股东还承担责任吗
  • 公司已倒闭
  • 个税专项扣除做什么用
  • 企业所得税税收优惠政策
  • 房屋租赁费增值税专用发票几个点
  • 购税控盘账务处理
  • 原材料购入和转出做账
  • 预提退货实际发生时账务处理
  • 出口退税进项抵扣了不退税可以吗
  • 增值税普通发票税率
  • 个体工商户投资者减除费用
  • 营业外支出调减应该填在纳税调整项目明细表哪一项
  • 股东未发工资可否提出仲裁
  • 收到劳务公司缴税怎么办
  • 未确认收货可以评价吗
  • 1697508669
  • 4s店帮买保险后会哪些资料要给我的
  • 发现以前年度未做领料生产的分录怎么处理
  • 笔记本设置权限管理在哪
  • 进项税额转出是负数是什么意思
  • phpstorm怎么用
  • 其他债权投资按公允价值计量,为什么计提减值准备知乎
  • 上级拨付的债券会计分录
  • 工商年报的社保缴费基数怎么算
  • 股东投资款超过多少,必须股东会
  • hashmap教程
  • 4s店收到红字发票怎么办
  • 计提工资附什么单据
  • 专项储备期末有余额吗
  • 差旅费不抵扣
  • 其他应付款是什么类账户
  • 财务费用的核算内容有哪些
  • 日后调整事项的记账凭证怎样装订
  • 增值税税率调整后,合同价应该调整吗
  • 装修费用是当月支付吗
  • 差旅费是什么支出类型
  • 普通发票找不到了可以重开吗
  • 股权变更需要交哪些税
  • 业务提成怎么做账内账
  • mysqlsum查询慢
  • sqlserver中时间类型
  • ubuntu18虚拟机
  • visio.exe是什么进程
  • xp无法识别的usb设备unknown device
  • WINDOWS操作系统属于什么操作系统
  • xp移动系统
  • 进不去操作系统 怎么样修复引导
  • winxp如何增加c盘空间
  • 2016年Win10 RedStone将重大改版 微软小娜可以浮动
  • opencvsharp读取图片
  • cocos3d物理引擎
  • 2015-04-08---cocos2dx一个都不能死(含源码)
  • cocos2dx scrollview
  • 铁嘴啥意思
  • 铁嘴李林
  • unity shader
  • arcgis栅格图像
  • 如何修改excel数据显示格式
  • 关于javascript函数
  • shell示例
  • 可以在windows环境下双击而直接放映
  • javascript教程完整版
  • JavaScript中setAttribute用法介绍
  • jQuery ajax时间差导致的变量赋值问题分析
  • Metaio in Unity3d 教学--- 二. 创建自己的Application
  • javascript简明教程
  • jquery怎么写
  • Python如何判断数据类型
  • jquery操作表单
  • python的排序方法
  • android 桌面开发
  • python的argparse用法
  • 投资性房地产如何进行后续计量
  • 电子税务局新户报道怎么弄
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设