位置: 编程技术 - 正文

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)

  • 小规模缴纳增值税
  • 所得税退税怎么办
  • 增值税应税销售额包括哪些
  • 茶叶自产自销成本核算
  • 拍卖的商铺过户费怎么算
  • 售后回租产生的费用
  • 土地无形资产摊销的会计处理
  • 化肥贸易需要什么手续
  • 企业收入进私户怎么做账
  • 微信红包税前扣除
  • 注册资金印花税是资金账簿吗
  • 双倍余额折旧法
  • 三类不良行为
  • 资本公积转增资本时应注意的问题主要包括哪些?
  • 外帐如何暂估应付账款
  • 工伤医疗费会计分录
  • 建筑业可以开电费发票吗
  • 金税盘上传参数测试连接失败
  • 税务贷的用途
  • 什么是民政福利企业
  • 基金收益率
  • 洗牙的利和弊
  • 企业工会会费是什么意思
  • 日志文件的名称和位置是什么
  • 股权转让合同怎么解除
  • 工作完工结算是什么意思
  • 计提本月银行借款利息是收付实现制还是权责发生制
  • 企业实际发生的经济业务事项都需要
  • 货物品种不太多而数量又相对较大
  • 浏览器无痕浏览后警察能查到吗
  • 红字发票账务处理需冲回成本吗?
  • php header refresh
  • 图像处理入门
  • cvpr best
  • php7 openssl
  • php框架自动加载
  • 新购入的汽车需要年检吗
  • 企业所得税没有交
  • 公司车辆固定资产转移税
  • 工资外一次性收入88000交多少税
  • 织梦改logo
  • rhel6安装教程
  • mysql建表的完整步骤
  • 直接人工成本包括五险一金吗
  • 工会会计需要会计证吗
  • 综合所得减除费用标准
  • sql server数据库设置定时任务
  • mysql数据库sid
  • 出口货物退货如何入账
  • 农场有多少只鸡
  • 施工单位月末都需要结转什么
  • 银行日记账余额与银行对账单不符
  • 息税前利润变动百分比计算公式
  • won10怎么安装
  • 提高搜索
  • ubuntu系统如何切换中文
  • mac设置启动系统
  • linux中fi
  • windows7的常用菜单
  • E: Encountered a section with no Package: header错误解决方法
  • redhat6.9安装图解
  • reader_sl.exe - reader_sl进程有什么用.
  • linux下4种kill某个用户所有进程的方法
  • saproxy.exe - saproxy是什么进程 有什么用
  • 调整linux时间
  • win10升级准备就绪需要多久
  • jquery中获取元素里边内容用什么方法
  • 安卓打开前置摄像头
  • jquery的选择器有哪些举例说明
  • html超链接打开本地文件
  • iframe的替代方案
  • js代码示例
  • wordpress开发文档
  • javascript面向过程
  • 浅谈如何加强基层党组织建设
  • android view view
  • 山西税务12366
  • 税务ca证书过期
  • 社保申报截止日期每月
  • 加工修理修配税率是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设